2015-10-13 83 views
0

我有一個SpringMVC portlet進入Maven構建的項目。 我不能讓JSP呈現給另一個JSP。問題從SpringMVC Liferay portlet調用jsp

我不確定是因爲我的JSP路徑還是因爲我誤解了SpringMVC。

我的jsp的完整路徑是: /src/main/webabb/WEB-INF/jsp/render/logs.jsp

我嘗試調用這種方式:

<aui:button-row cssClass="..."> 
    <portlet:renderURL var="myURL"> 
     <portlet:param name="mvcPath" 
      value="render/logs.jsp" /> 
    </portlet:renderURL> 

    <aui:button onClick="<%=myURL.toString()%>" 
     value="my button" /> 
</aui:button-row> 

我試着與

value="/webabb/WEB-INF/jsp/render/logs.jsp" /> 
value="webabb/WEB-INF/jsp/render/logs.jsp" /> 
value="/WEB-INF/jsp/render/logs.jsp" /> 
value="WEB-INF/jsp/render/logs.jsp" /> 
value="/jsp/render/logs.jsp" /> 
value="jsp/render/logs.jsp" /> 
value="/jsp/render/logs.jsp" /> 
value="jsp/render/logs.jsp" /> 
value="/render/logs.jsp" /> 
value="render/logs.jsp" /> 

無論串,我設置,當我按下按鈕,頁面只是調用其重定向到我的默認視圖JSP的主控制器。

Thx提前。

+0

[Liferay Portlet基本MVC流和視圖選擇]的可能副本(http://stackoverflow.com/questions/15778745/liferay-portlet-basic-mvc-flow-and-view-selection) –

+0

Hi Tobias, 並非真正重複您鏈接的這篇文章。 您鏈接的帖子描述了一種從控制器獲取jsp的方法。 就我而言,我試圖從一個jsp轉到另一個jsp。 –

+0

我發現inportlet-應用context.xml中: \t <豆ID = 「視圖解析器」 類= 「org.springframework.web.servlet.view.InternalResourceViewResolver」> \t \t <屬性名= 「的contentType」 值=「文本/ html; charset = UTF-8「/> \t \t \t \t \t \t <屬性名= 「viewClass類」 值= 「org.springframework.web.servlet.view.JstlView」/> \t 因此,我們可以期待的renderURL是: <門戶:的renderURL VAR = 「addGuestbookURL」> <門戶:PARAM NAME = 「mvcPath」 值= 「渲染/日誌」/> 沒有運氣 –

回答

0

顯然(糾正我,如果我錯了),我們需要調用控制器,它將重定向到JSP。 我設法把它的工作是這樣的:

在我的JSP:

<%-- URL declarations --%> 
    <portlet:renderURL var="logsURL"> 
     <portlet:param name="action" 
      value="viewLogs" /> 
    </portlet:renderURL> 
     <portlet:renderURL var="failURL"> 
     <portlet:param name="action" 
      value="fail" /> 
    </portlet:renderURL> 

<%-- buttons--%> 
<aui:button-row cssClass="guestbook-buttons"> 

    <aui:button onClick="<%=logsURL.toString()%>" value="test MVC logs" /> 
    <aui:button onClick="<%=failURL.toString()%>" value="test MVC fail" /> 
</aui:button-row> 

進入我的控制器:

@RenderMapping(params = "action=fail") 
    public String fail() { 
     LOG.info("\n#############Calling fail###########"); 
     return "<my_dir>/fail"; 

    } 

@RenderMapping(params = "action=viewLogs") 
    public String logs() { 
     LOG.info("\n#############Calling logs###########"); 
     return "<my_dir>/logs"; 

    } 

希望它能幫助。

+0

的確,你必須調用一個renderMethod。如果要顯示的jsp的名稱的結果(由) – fabballe