struts2中,在页面随便输入一个不带.jsp或.html结尾的字符,会报错

struts2中,在页面随便输入一个不带.jsp或.html结尾的字符,会报一个找不到Action的错误,如何让这个错误调到我指定的页面?而不是让struts显示他自己报错的页面。还有就是在action内出错或者查询数据库的时候出错后,怎么跳到我指定的页面,在struts.xml里面该怎么配置。
我是在地址栏内随便输入,而不是说已经定义好的action的名字

<package name="error" namespace="/" extends="struts-default">
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
</package>
帮忙看一下,这样配有什么错,老是不跳到指定的页面

<!-- 定义默认的action,如果输入不存在的Action配置,会转到这个默认的Action中来,这个配置必须写在global-results定义的上面  -->

<default-action-ref name=’reindex‘></default-action-ref>  

<!--这个需写在global-results的下面,如下图所示,这个地方定义默认action的跳转 -->

<action name='reindex'>

     <result type='redirectAction'>index.do</result>  <!-- 跳转到其他Action -->

    <!-- <result>/index.jsp</result>  或者跳转到某个jsp -->   

</action> 

补充: 楼上你们的好像是捕捉异常的跳转页面吧。。

lz问的是地址栏随便输入东西,这时候会被struts拦截,说Action没定义什么的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-28
在struts.xml里面的配置
<struts>
<package name='起个名字' extends='struts-default'>
<action name='不带.jsp或.html结尾的字符' class='你的Action' method='execute' >
<result name='success'>你的成功页面路径</result>
<result name='error'>你的失败页面路径</result>
<result name='exception'>你的异常页面路径</result>
</action>
</package>
</struts>

代码里的单引号都改成双引号,我百度回答不知道为啥,只要我的代码里出现引号,提交的时候就断了,无法显示全部,知道怎么解决的告诉我哈啊,谢了!

那就把action里的name属性改成*号就行了,不过,改成*的action放在最下面!!!本回答被提问者和网友采纳
第2个回答  2010-11-28
补充:你将java.lang.Exception 换成特定的Exception,举个例子,比如捕捉的是
java.sql.SQLExcepiton异常,那么它就会到mapping中查找key为:java.sql.SQLExcepiton对应的跳转页面。虽然java.sql.SQLExcepiton也是java.lang.Exception但是mapping中key为java.sql.Exception。
你试试看吧。
-----------------------------------------------------------------------------------------------
<global-results>
<result name=‘exception1’>xx/xx.exception1.jsp</result>
<result name=’exception2‘>xx/xx.exception2.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result=‘exception1’ exception=’java.sql.SQLExcepiton‘></exception-mapping>
<exception-mapping result=‘exception2’ exception='找不到action是报的异常'></exception-mapping>
</global-exception-mappings>
第3个回答  2010-11-28
11
第4个回答  2010-11-28
你的电脑坏了,快修吧,要不就有病毒了