RenderRequest在liferay6中调用jsp

时间:2013-04-23 17:03:40

标签: jsp liferay

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

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);

有什么想法吗?

1 个答案:

答案 0 :(得分: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参数的值中也有错误:结束括号包含一个额外的等号,因此它表示%=>而不是%>。这可能是问题的真正原因。