2013-04-23 38 views
0

我不知道爲什麼這不起作用。RenderRequest在liferay6中調用jsp

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

任何想法?

+0

***不工作***是什麼意思?你看到任何錯誤嗎?或者當您使用此portlet刷新頁面時,您沒有正確地看到JSP?或者'doView'沒有被調用?並且我假設portlet的配置已正確完成。 – 2013-04-24 04:51:23

+0

可以在雙引號內使用雙引號還是應該轉義? – 2013-04-24 10:13:33

回答

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參數:右括號包含一個額外的等號,所以它表示%=>而不是%>。這可能是問題的真正原因。