我原来以为是默认指向这个action。比如在首页的时候不输入action名字就自动找这个配置下的action然后调用方法。折腾了一下发现是找不到这个action的时候才转到别的result里面。所以我的问题就来了,比如在做首页的时候,访问这样的域名www.xxx.com 如何配置action调用方法来填充首页的内容?当然如果是直接输入www.xxx.com/index 就容易了。

解决方案 »

  1.   

    搜索了一个方法 在web.xml里配置<welcome-file-list>
        <welcome-file>index</welcome-file>
      </welcome-file-list>index为default-action-ref 这样进首页就可以调用indexAction里的方法了。一般项目是这样做吗?
      

  2.   

    其他人 我不知道,至少我不是这样. 在 tomcat 中配置的 <welcom-file> 是基于 servlet 的
    struts2 的运行机制却是 filter .如果真像 LZ 那样配置,应该会报 404 吧 ?我从来都是 <welcom-file>index.jsp</>然后在 index.jsp 中的 head 部分写一句: 
    <meta http-equiv="refresh" content="0;url=index.html" />struts.xml :
    <constant name="struts.action.extension" value=",,html" />程序中不需要验证是否登录的请求使用 .html 后缀,否则无后缀.再写一个自定义用户登录的拦截器
      

  3.   

    又琢磨了一下,发现在lib目录下配web.xml<welcome-file>XXX</welcome-file> 
      </welcome-file-list>好像就是给了任意一个action?XXX比如index而不是index.jsp然后我在默认的namespace下配置 
    <default-action-ref name="000"></default-action-ref>
    <action name="000" class="com.tumuwang.bbs.action.CategoryAction" method="list">
    XXX可以任意,struts2发现找不到XXX就去找000了?反正试验确实是这样,但是是乱整出来的,请大家指正。