从 SpringMVC Liferay portlet 调用 jsp 的问题
issue to call a jsp from a SpringMVC Liferay portlet
我有一个 SpringMVC portlet 到 Maven 构建的项目中。
我无法将 JSP 渲染到另一个 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。
提前致谢。
显然(如果我错了请纠正我),我们需要调用控制器,它会重定向到 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";
}
希望对您有所帮助。
我有一个 SpringMVC portlet 到 Maven 构建的项目中。 我无法将 JSP 渲染到另一个 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。
提前致谢。
显然(如果我错了请纠正我),我们需要调用控制器,它会重定向到 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";
}
希望对您有所帮助。