Portlet 通信(五) 通过 URL 传递参数
2017-10-08 17:06
253 查看
语法如下:
HttpServletRequest request = PortalUtil.getHttpServletRequest(renderRequest);
String articleId = PortalUtil.getOriginalServletRequest(request).getParameter("articleId");
===============================================================================
PortletM
JSP
PortletN
JSP
------------------------------------------------------------------------------------------------------
注意:此种传递参数只能是一个页面中的Portlet能接收到参数,另一个页面若有相同Portlet则接收不到你参数,因为超链接只能链接到一个指定的页面,传递参数时候,可以是同一个页面,也可以是不同的页面
HttpServletRequest request = PortalUtil.getHttpServletRequest(renderRequest);
String articleId = PortalUtil.getOriginalServletRequest(request).getParameter("articleId");
===============================================================================
PortletM
package com.test; import com.liferay.util.bridges.mvc.MVCPortlet; /** * Portlet implementation class TranM */ public class TranM extends MVCPortlet { }
JSP
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <portlet:defineObjects /> <!-- 链接地址为N所在Portlet --> <a href="http://localhost:8080/web/guest/tean-n?book=Liferay学习">向N中传递参数book,名称为Liferay学习</a>
PortletN
package com.test; import java.io.IOException; import javax.portlet.PortletException; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import javax.servlet.http.HttpServletRequest; import com.liferay.portal.util.PortalUtil; import com.liferay.util.bridges.mvc.MVCPortlet; /** * 通过 URL 传递参数 */ public class TranN extends MVCPortlet { @Override public void doView(RenderRequest request, RenderResponse response) throws IOException, PortletException { //接收超链接URL中传递过来的参数 HttpServletRequest re = PortalUtil.getHttpServletRequest(request); String s = PortalUtil.getOriginalServletRequest(re).getParameter("book"); System.out.println("书名为:"+s); //修改后传递给JSP显示 s = s + "OK6"; request.setAttribute("b", s); super.doView(request, response); } }在N中接收参数输出,修改后传递到JSP
JSP
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%> <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <portlet:defineObjects /> <% String strb = (String)request.getAttribute("b"); %> 获取URL传递的参数-修改后:<%=strb %>
------------------------------------------------------------------------------------------------------
注意:此种传递参数只能是一个页面中的Portlet能接收到参数,另一个页面若有相同Portlet则接收不到你参数,因为超链接只能链接到一个指定的页面,传递参数时候,可以是同一个页面,也可以是不同的页面
相关文章推荐
- javascript通过url向jsp页面传递中文参数导致乱码解决方案
- JS通过URL传递参数时出现乱码的处理
- 通过注册的URL Scheme向目标APP传递参数
- 通过url地址传递base64加密参数遇到的问题整理
- javascript通过url向jsp页面传递中文参数乱码解决方法(两次编码,一次解码)
- 通过url传递参数时,如何获取全部参数
- JSP通过URL传递中文参数乱码的问题
- jsp通过url传递参数乱码
- ASP.NET 页面通过url传递参数,另一页面通过Request.QueryString获取参数为乱码问题
- javascript通过url向jsp页面传递中文参数乱码解决方法
- 关于通过URL传递中文参数的问题
- SQL报表 - 通过URL传递报表参数
- 转:Web页面通过URL地址传递参数常见问题及检测方法
- jsp通过url传递和获取参数
- Portlet 通信(四) 利用事件传递参数
- ASP.net中通过HyperLink的NavigateUrl属性传递参数,与新页面的Page_Load()接收参数
- ASP.net通过URL传递参数
- jquery通过url传递 和 接收 参数
- 通过URL直接传递参数给报表服务中汉字的处理
- javascript通过url向jsp页面传递中文参数乱码解决方法