2015-09-09 61 views
0

我得到了一個要求。我在Web Content Display portlet中添加了兩個文本字段ValueKeyWeb Content with two fields 'Key' and 'Value'從Web內容顯示Portlet獲取密鑰的價值

現在在portlet中,我從下面的硬代碼中獲得價值。

BasicModel model = (BasicModel)requestContext.getFlowScope().get("BasicModel"); 
     if(model == null){ 
      model = new BasicModel(); 
     } 
     model.setEmployeeId("AB1223344S"); 
     model.setHireDate("01-Jan-2000"); 
     model.setNiNumber("AB123456S"); 
     model.setDateOfBirth("12-Dec-1980"); 
     model.setBasicForm(new BasicDetailsForm()); 
    } 

,但我想要的是從web content得到各attributevalue。像,如果我已經給lfr.intel.empid作爲keyABSD1822D作爲這樣的添加的網絡內容結構字段中的值。 new added information for key and value

我們可以像這樣獲取鍵的值。

model.setEmployeeId(lfr.intel.empid); 
+0

你爲什麼在這裏使用我們的內容做了嗎?你會詳細說明你的要求嗎? –

+0

@PankajkumarKathiriya如果我可以,我會從老年人的要求。 – Akash

回答

0

你可以寫這個自定義函數傳遞的關鍵,該功能,現在該功能將使用JournalArticleLocalServiceUtil API從DB獲得相應的價值。

現在您需要找到如何從JournalArticleLocalServiceUtil中獲取值,您可以通過谷歌或this鏈接來幫助您。

謝謝。

+0

我們是否必須在我的portal-ext.properties文件中添加任何屬性? – Akash

+0

編號 BDW爲什麼要在屬性文件中添加條目? –

0

試試這個,假設你可以得到JournalArticle對象,我已經使用resourcePrimKey

long resourcePrimKey = 12345; //hard coded the resourcePrimKey 
JournalArticle article = JournalArticleLocalServiceUtil.getLatestArticle(resourcePrimKey); 
com.liferay.portal.kernel.xml.Document document = SAXReaderUtil.read(article.getContentByLocale("en_US")); 

Node keyNode = document.selectSingleNode("/root/dynamic-element[@name='Key']/dynamic-content"); 
String key = keyNode.getStringValue(); 

Node valueNode = document.selectSingleNode("/root/dynamic-element[@name='Value']/dynamic-content"); 
String value = valueNode .getStringValue();