0

我不确定为什么这不起作用。

该jsp:

<a href="<portlet:renderURL >
<portlet:param name="page" value="/view_dettaglio.jsp"/>
<portlet:param name="id" value="<%=rs.getInt(1)%=>"/>
</portlet:renderURL>"><%=rs.getInt(1)%></a>

类中的方法:

@Override
public void doView(final RenderRequest renderRequest, final RenderResponse renderResponse) throws PortletException, IOException {
  String page = ParamUtil.getString(renderRequest, "page");
 String id = ParamUtil.getInteger(renderRequest, "id");
  renderRequest.setAttribute("id",id.toString());   
  this.include(page, renderRequest, renderResponse);

有任何想法吗?

4

1 回答 1

0

你定义了portlet命名空间吗?

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

最好在使用之前将呈现 URL 存储在一个单独的变量中,这样在引用中就不会发生冲突:

<portlet:renderURL var="renderUrl">
    <portlet:param name="page" value="/view_dettaglio.jsp"/>
    <portlet:param name="id" value="<%=rs.getInt(1)%>"/>
</portlet:renderUrl>

<a href="<%=renderUrl%>"><%=rs.getInt(1)%></a>

您的参数值也有错误id:右括号包含一个额外的等号,所以它说%=>而不是%>. 这可能是问题的真正原因。

于 2013-04-26T13:28:11.273 回答