如何将参数从portlet传递到jsp

如何将参数从portlet传递到jsp,jsp,liferay,portlet,Jsp,Liferay,Portlet,我试图将参数从portlet传递到新的jsp。我的意思是,view.jsp是呈现portlet时看到的第一个页面。这个view.jsp包含一个submit,用户在其中插入一个ID。submit将在其中处理ID的ProcessAction。处理完ID之后,我需要将一个参数传递给一个新的jsp(而不是view.jsp)。提交后应向newpage.jsp收取费用 我怎么能这么做?我一直在寻找解决方案,但我每天都越来越困惑 更新: 是的,我想将参数从流程操作传递到JSP。但问题依然存在,我不知道为什么。

我试图将参数从
portlet
传递到新的jsp。我的意思是,
view.jsp
是呈现
portlet
时看到的第一个页面。这个
view.jsp
包含一个submit,用户在其中插入一个ID。submit将在其中处理ID的ProcessAction。处理完ID之后,我需要将一个参数传递给一个新的jsp(而不是view.jsp)。提交后应向
newpage.jsp
收取费用

我怎么能这么做?我一直在寻找解决方案,但我每天都越来越困惑

更新:

是的,我想将参数从流程操作传递到JSP。但问题依然存在,我不知道为什么。我一直在阅读您的链接提供的内容,并且我已经包括了文档推荐的使其工作的行。但它不起作用

以下是我的代码(操作阶段):


<> P>那么,你认为我的代码需要做什么改变?

< P>我知道你想把参数从<强>动作阶段< /强>传递到<强>渲染阶段< /强>(因此它可以被你的JSP读入)。这可以通过渲染参数来完成。首先,必须在动作方法中添加参数:

actionResponse.setRenderParameter("parameter-name", "value");
然后在呈现方法或JSP文件中读取id:

renderRequest.getParameter("parameter-name");
中有一篇关于将值传递到操作阶段的文章

在使用
renderRequest
变量之前放置
标记:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />

Insert your ID:<br><br>
<%
String string = renderRequest.getParameter("lista-expedientes");
%>

插入您的ID:


如下所述,我们可以使用动作阶段参数来渲染阶段

MVCPortlet类将所有动作参数直接复制为渲染参数。您可以通过在portlet.xml中设置以下init参数来实现这一点

XML:
<init-param>
    <name>copy-request-parameters</name>
    <value>true</value>
</init-param>
XML:
复制请求参数
真的
renderRequest.getParameter("parameter-name");
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />

Insert your ID:<br><br>
<%
String string = renderRequest.getParameter("lista-expedientes");
%>
XML:
<init-param>
    <name>copy-request-parameters</name>
    <value>true</value>
</init-param>