关于struts2中default-action-ref的一些问题及首页设置

相信在ssh2项目中首页都是需要调用action转向jsp页面迭代上一层传过来的List,Set等集合,这样问题就来了,在web.xml中,welcome-file是不能配置action的, 如
  <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
  </welcome-file-list> 

 

不能写成

 

  <welcome-file-list>

<welcome-file>indexAction</welcome-file>

  </welcome-file-list> 

 

 

 这样肯定报404错误

 

那么首页该怎样调用action呢,如 www.zhangruifeng.com 直接能访问 www.zhangruifeng.com/indexAction呢

 

很多web开发人员选择了jsp:forword的方式,在index.jsp采用jsp:forward跳转

 

<jsp:forward page="/indexAction" />

 

这样确实解决了问题,但笔者以为这种方式并不是很好下面介绍一种方式

 

 

 

就是在struts.xml中package标签下配置default-action-ref,例如

 

<package name="default" namespace="/" extends="struts-default">

<default-action-ref name="indexAction"></default-action-ref>

<action name="indexAction" class="com.listAll" >

<result name="success">index.jsp</result>

</action>

</package>

 

 

 

这样似乎能行,测试一下,问题又来了,怎么根本不起作用啊.我通过测试发现,还是调用了原来主页的index.jsp,indexAction丝毫没起作用

 

这个原因是系统默认web.xml中,如下面index.jsp是主页

 

  <welcome-file-list>

<welcome-file>index.jsp</welcome-file>

  </welcome-file-list> 

 

 

于是笔者在web.xml中删除了上面那段代码,发现还是不行.因为系统会默认识别名字为index.jsp作为首页.有人说可以把index.jsp文件改个名字就可以了,这样确实可以,但我想到了另外一个比较好的办法,就是改web.xml中上面那段代码,改正这样.

 

  <welcome-file-list>

<welcome-file>test.jsp</welcome-file>

  </welcome-file-list> 

 

 

  这样系统找不到test.jsp主页,default-action-ref默认action将起到作用,这样就可以用www.zhangruifeng.com 直接能访问 www.zhangruifeng.com/indexAction了.

 

本文转自:http://blog.sina.com.cn/s/blog_62d3ddc00100z4vy.html
PS:个人觉得这位兄弟文章中有点问题, “有人说可以把index.jsp文件改个名字就可以了,这样确实可以,但我想到了另外一个比较好的办法,就是改web.xml中上面那段代码”这句话跟他实现的就是一个方法,不知道这位仁兄怎么想的。其实经过测试,Struts2如果发现你在web.xml中没有配置欢迎页面,那么本地又有一个index.jsp的文件,他同样能找到并且展示出来,如果本地没有这个index.jsp文件,那么此时才会重定向默认的action,在web.xml中配置一个不存在的欢迎也相当于给struts2一个假象而已。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值