Liferay portlet MVC开发的一些基础笔记

1、使用Java代码使用重定向

直接调用

result.jsp 是要转向的页面地址。

 String portletName = (String)actionRequest.getAttribute(WebKeys.PORTLET_ID);
			 ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
			 PortletURL redirectURL = PortletURLFactoryUtil.create(PortalUtil.getHttpServletRequest(actionRequest),
			 portletName,
			 themeDisplay.getLayout().getPlid(), PortletRequest.RENDER_PHASE);
			 
			 redirectURL.setParameter("jspPage", "/result.jsp");
也可加一些其他参数
redirectURL.setParameter("test", "value");
       redirectURL.setParameter("jspPage", "/result.jsp"); 
       actionResponse.sendRedirect(redirectURL.toString());

2、使用include 添加不同的jsp页面

没有测试能不能传参数。

doView 在每次刷新页面是都会调用。当然包括提交表单后。


	public void doView(RenderRequest renderRequest,
			RenderResponse renderResponse) throws IOException, PortletException {
		System.out.println("doView!!");
		renderResponse.setContentType("text/html");
		String res = renderRequest.getParameter("result");
		if(res != null){
			renderRequest.setAttribute("result", res);
			System.out.println("成功");
			include("/result.jsp", renderRequest, renderResponse);
			//getPortletContext().getRequestDispatcher("/result.jsp").forward(renderRequest, renderResponse);
		}else
			include("/view.jsp", renderRequest, renderResponse);
		//super.doView(renderRequest, renderResponse);
	}

3 显示消息

在Java类中可以这么用

SessionMessages.add(actionRequest, "request_processed", "this-is-my-custom-success-message") 

SessionErrors.add(actionRequest, "error-key");

可以在配置文件中取消显示所有消息:

<init-param><name>add-process-action-success-action</name><value>false</value></init-param>

and in the jsp of your portlet:

<liferay-ui:error key="error-key" message="this-is-error-message-1" /><liferay-ui:error key="error-key-2" message="this-is-error-message-2" />

4、多语言支持

welcome 就是key了,语言properties中。

1)jsp : <ui:message key="welcome"></ui:message>

<%=LanguageUtil.get(locale, "welcome") %>

2)Java类中

或 LanguageUtil.get(renderRequest.getLocale(), "welcome ");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值