struts 设置默认 action-阿里云开发者社区

开发者社区> 黄威的世界> 正文

struts 设置默认 action

简介:
+关注继续查看

struts 如何设置默认action呢?

我要达到的目的是:访问不存在的action时自动跳转到默认的action

在struts.xml中添加:

 

Java代码  收藏代码
  1. <!-- 404页面 -->  
  2.         <default-action-ref name="notFound" />  
  3. <action name="notFound" class="com.common.action.error.NotFoundErrerAction">  
  4.             <result name="success">/error/not_found.jsp</result>  
  5.         </action>  

 效果如下:

 action  aaa/xxx.action 不存在,所以自动跳转到了notFound.

 

 

但是现在有一个问题,如果我的url是http://localhost:8082/shop_goods/acc 时,界面如下:

 这是为什么呢?

我检查我的web.xml发现struts 过滤器配置如下:

<filter>

    <filter-name>struts2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

  </filter>

  <filter-mapping>

    <filter-name>struts2</filter-name>

    <url-pattern>*.action</url-pattern>

  </filter-mapping>

 

所以struts只会处理url后缀名为action的,比如xxx.action,abc.action.

解决方法:struts 过滤器配置改为:

 

Xml代码  收藏代码
  1. <filter>  
  2.     <filter-name>struts2</filter-name>  
  3.     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  4.   </filter>  
  5. <filter-mapping>  
  6.     <filter-name>struts2</filter-name>  
  7.     <url-pattern>/*</url-pattern>  
  8.   </filter-mapping>  

 

 

修改之后的效果:

 

 

如果struts过滤器非要使用*.action呢?

那么需要在web.xml中添加:

 

Xml代码  收藏代码
  1. <error-page>  
  2.             <error-code>404</error-code>  
  3.             <location>/error/not_found.jsp</location>  
  4.         </error-page>  

 这样,访问http://localhost:8082/shop_goods/acc 也会自动跳转到/error/not_found.jsp

 

注意:上述页面(/error/not_found.jsp)不能有struts 标签

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Confluence 6 后台中的默认空间模板设置
Confluence 6 后台中的默认空间模板设置界面的布局。 https://www.cwiki.us/display/CONFLUENCEWIKI/Customizing+Default+Space+Content ...
684 0
Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
在Android中,TextView是我们最常用的用来显示文本的控件。   一般情况下,TextView中的文本都是一个样式。那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下。    res-layout-main.xml [html] view pla
981 0
C#dll版本号默认生成规则
原文: C#dll版本号默认生成规则 1.版本号自动生成方法 只需把 AssemblyInfo.cs文件中的[assembly: AssemblyVersion("1.0.0.0")]改成[assembly: AssemblyVersion("1.0.*")],另外还需要把[assembly: AssemblyFileVersion("1.0.0.0")]注释屏蔽掉。
569 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7751 0
查看系统默认路径
echo -e ${PATH//:/\\n} 注:bash字符串比较 测试                                真值 str1=str2                  str1和str2匹配 str1!=str2                  str1和st...
467 0
Confluence 6 自定义默认空间内容
中文标题【自定义默认空间内容】 Confluence 管理员 可以编辑用于创建主页和新站点的模板。默认的内容将会在新空间创建后的主页上显示出来。
743 0
+关注
黄威的世界
我是一个热衷IT技术的人,希望自己不断地设计开发出对别人非常有用的软件。有近7年的java开发经验(包括2年Android开发经验)和一年左右的linux使用经验。擅长Java Web后台开发 ,喜欢研究新的各种实用技术
668
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载