- 新建两个portlet类;
- 略
- test001用于提交数据,页面与后台代码如下:
- 页面代码:
<h2>liferayMVCportlet表单数据提交</h2> <!-- 在对应portlet(test001)中定义一个login方法,用于处理该表单 name:处理该表单的方法名称 --> <portlet:actionURL name="login" var="loginURL" /> <!-- 简单的用户登录表单 --> <form action="<%=loginURL %>" method="post"> 用户名:<input type="text" name="username" ><br> 密 码:<input type="password" name="password"><br> <input type="submit" value="提交"> </form>
- 后台代码
public class Test001 extends MVCPortlet { /** * 该方法用于处理表单请求,注意方法名称需要与页面中portlet:actionURL的name相同。 * * @param request * @param response */ public void login(ActionRequest request, ActionResponse response) { String username = ParamUtil.getString(request, "username"); String password = ParamUtil.getString(request, "password"); System.out.println("您刚刚输入的:username=" + username + ",password:" + password); User user = new User(); user.setUsername(username); user.setPassword(password); request.getPortletSession().setAttribute("user", user, PortletSession.APPLICATION_SCOPE); } }
- test002用于显示test001提交的数据,页面与后台代码如下:
- 界面代码
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <%@page contentType="text/html;charset=utf-8" %> <portlet:defineObjects /> <h2>liferayMVCportlet数据回显</h2> 用户名:${user.username }<br/> 密码:${user.password}
- 后台代码
public class test002 extends MVCPortlet { @Override public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { // 获取User数据 User user = (User) renderRequest.getPortletSession().getAttribute("user",PortletSession.APPLICATION_SCOPE); // 往域中添加数据 renderRequest.setAttribute("user", user); super.doView(renderRequest, renderResponse); } }
- 部署后,在test001界面输入数据,点击提交:
- test002界面显示出test001提交的数据,实现不同portlet之间的通信。
liferay中portlet与portlet之间通
最新推荐文章于 2019-04-08 17:02:28 发布