我有一个混合了普通旧 servlet 和 Struts2 的应用程序。整个应用程序都使用了一个搜索页面,所以我把它作为一个通用页面。几个搜索页面只包含使用jsp:include
.
问题:我有一页被大约 100 个其他页面引用,如下所示:
<a href="/reports/reportA/selectionPageA.jsp">Report Selection </a>
这是一个不使用 struts2 的简单 jsp 页面,但我希望此页面包含通用搜索页面(使用 struts2)。所以我做了一个这样的映射,struts.xml
因为通用搜索页面需要GenericReportSelection
在显示页面之前使用 构建几件事:
<package name="reportA" extends="struts-default" namespace="/reportA">
<action name="selectReportA" class="GenericReportSelection">
<result>/reports/reportA/selectionPageA.jsp</result>
</action>
</package>
由于我不想更改其他 100 页,我将以下内容添加到我的 Servlet 过滤器中:
if (httpReq.getServletPath().endsWith("selectionPageA.jsp"))
((HttpServletResponse) resp).sendRedirect("/myapp/reportA/selectReportA.action");
问题:这是解决这个问题的正确方法吗?一切似乎都正常,但是当我访问这个特定页面时,我收到了某些 struts 错误,提示找不到某些“列表”方法。即使在前端一切看起来都很好......