关于 struts2.3.14.2 访问不存在的 jsp 页面时,自定义404页面中无法使用 struts2 标签。 100

使用的struts版本为struts2.3.14.2,java1.6,tomcat6。补充说明:自定义404文件存在,并且在web.xml中设置的该路径也正确。已经在自定... 使用的 struts 版本为 struts2.3.14.2, java 1.6, tomcat 6。

补充说明:
自定义404文件存在,并且在 web.xml 中设置的该路径也正确。
已经在自定义的404页面中,正确添加了对 struts2 标签的引用:
<%@ taglib uri="/struts-tags" prefix="s" %>

web.xml 配置如下:
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>

struts.xml 配置如下:
<default-action-ref name="pageNotFound" />
<action name="pageNotFound">
<result>/404.jsp</result>
</action>

已经在 struts.xml 中配置的默认的action,这样,当访问了不存在的Action时,可以正常跳转到自定义 404 页面。

现在的问题是,如果直接访问不存在的jsp时,例如 /xxx.jsp,由于自定义404页面需要国际化,因此使用了struts2的标签,但是后台会报错:
Exception Processing ErrorPage[errorCode=404, location=/404.jsp]
org.apache.jasper.JasperException: The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]

我也上网查了下,上述异常的大意是说,在 struts2 中必须通过 action 访问 jsp,无法直接访问 jsp。

请问,当直接访问不存在的 jsp 时,此时由于不走action,那么如何解决 404 页面国际化的问题?(即,可以使用 struts2 标签)
展开
 我来答
谭奇源
2013-06-22 · TA获得超过166个赞
知道小有建树答主
回答量:179
采纳率:50%
帮助的人:68.6万
展开全部
你不走struts2的action了,就表示struts2所有的功能都不能用了。你自己写个类读取struts2的那个国际化properties文件,或自定义tag,然后在jsp页面用,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-26
展开全部
<error-page>
  <error-code>404</error-code>
  <location>/pageNotFound.action</location>
</error-page>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恽俊雅0iN888
2013-06-14 · TA获得超过185个赞
知道小有建树答主
回答量:281
采纳率:0%
帮助的人:199万
展开全部
在web.xml中

<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式