[转] struts 调用首页 action 的两种方法


由于 Struts 将实现于页面分离,又是以提交驱动的方式,所以不能象 jsp、php 那样直接设置首页为 index.jsp 或 index.php 就可以的。需要访问 struts servlet 并执行后台应用后由后台定向到前台 jsp 文件,所以首页的配置就出现了一点小问题。
  大多数人想到的方法是建立 index.jsp (或 html)文件,当访问这个文件时定向到 Struts 后台 action。虽然也能解决问题,不过并不完美。因为地址栏 url 将会变成定向后的 url。如 index.jsp 中定向到 index.do ,那么访问 http://www.mxjava.com 后,url 将变成 http://www.mxjava.com/index.do。
  有两种方法可以解决这个问题:
1、配置 web.xml 的 welcome-file-list 如下:
<WELCOME-FILE-LIST>
<WELCOME-FILE>index.do</WELCOME-FILE>
</WELCOME-FILE-LIST>
  在网站根目录下创建 index.do 文件。注意这个文件一定要创建,否则系统出错。
2、将 index.do 的 Struts 配置改为如下:
<PACKAGE name=”home” extends=”struts-default”>
<ACTION class=indexAction name=”">
<RESULT type=”freemarker”>/WEB-INF/ui/index.html</RESULT>
</ACTION>
</PACKAGE>
 action 的 name=”" 即可。
  两种方法都能解决问题,并没有多少不同,个人更倾向于第一种,毕竟 struts 的 action name=”” 看上去比较怪异。

来源:http://javatest.cn/?p=106

猜你喜欢

转载自wutheringsea.iteye.com/blog/1066725