我正在嘗試編寫一小段代碼,以在Liferay的portlet中顯示用戶登錄的名稱。如何在沒有任何外部視圖組件的情況下編寫portlet
我的問題,編程問題的一部分,是我不明白java類和view.jsp文件之間的連接究竟如何。
我知道我只能用view.jsp文件顯示用戶名和照片,但我無法實現也使用java類。
我試着用processAction()方法和doView()方法。我想我們需要保存這些參數以顯示actionResponse中的信息以將其呈現在portlet中,但實際上我有點失落和混亂。例如,我的一個問題是:我是否也應該在view.jsp文件中編寫?或者我可以只用我的java類來做所有事情嗎?我附上了我的java類的代碼。
任何幫助將非常偉大。 非常感謝提前。 貝尼特斯
public class UserInfo extends MVCPortlet{
@Override
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
throws IOException, PortletException
{
ThemeDisplay themeDisplay = (ThemeDisplay)
actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
User user = themeDisplay.getUser();
PortletPreferences prefs = actionRequest.getPreferences();
String userName = (String) actionRequest.getParameter("UserInfo");
userName = user.getFullName();
if (userName != null)
{
prefs.setValue("UserInfo", userName);
prefs.store();
}
actionResponse.setRenderParameter("userName", userName);
super.processAction(actionRequest, actionResponse);
}
}
我知道你的意思。我正在學習Portlet,我只用了3天。我已經用view.jsp完成了我的任務,只是按照你的建議行,但現在我想用java類實現它,這就是爲什麼我問了這個問題。 – agapitocandemor 2012-03-12 16:18:36
好吧,看我的編輯 – 2012-03-12 20:30:49
我終於做到了這一點: PrintWriter writer = response.getWriter(); \t \t \t \t writer.write(String.format(「
%s
」,userinfo2)); (「%s
」,name)); \t \t writer.close(); 但現在我嘗試你的,謝謝你;) – agapitocandemor 2012-03-13 14:33:07