您的位置:首页 > 其它

Portlet 通信(五) 通过 URL 传递参数

2017-10-08 17:06 253 查看
语法如下:

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则接收不到你参数,因为超链接只能链接到一个指定的页面,传递参数时候,可以是同一个页面,也可以是不同的页面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: