我有一个应用程序,它是普通旧servlet和Struts2的混合体。在整个应用程序中都有一个搜索页面,因此我将其作为通用页面。几个搜索页面只包含使用jsp:include
的通用页面。
问题:我有一个页面被大约100个其他页面评论如下:
<a href="/reports/reportA/selectionPageA.jsp">Report Selection </a>
这是一个简单的jsp页面,不使用struts2,但我希望这个页面包含通用搜索页面(使用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错误,表明找不到某些“list”方法。即使在前端,一切看起来都还不错......