Reputation: 1116
I have a SpringMVC portlet into a Maven built project. I can't have a JSP to render to another JSP.
I am not sure if it is because of my JSP path or because of something I misundertood with SpringMVC.
My jsp full path is : /src/main/webabb/WEB-INF/jsp/render/logs.jsp
I try to call it this way :
<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>
I tried with
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" />
Whatever string, I set, when I hit the button, the page just calls the main controller which redirects to my default view jsp.
Thx in advance.
Upvotes: 0
Views: 979
Reputation: 1116
Apparently (correct me if I m wrong), we need to call the controller and it will redirect to the JSP. I managed to have it work this way:
In my 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>
Into my controller:
@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";
}
Hope it helps.
Upvotes: 1