2015-10-13 82 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