Struts.xml文件介绍

一、Action搜索顺序

Action的搜索顺序:
1、例如url是:http://server/struts2/path1/path2/path3/test.action
2、首先找命名空间为/path1/path2/path3package,存在的话找包中名字为testaction
3、找命名空间为/path1/path2package,存在的话找包中名字为testaction
4、找命名空间为/path1package,存在的话找包中名字为testaction
5、找命名空间为/package,存在的话找包中名字为testaction
6、如果还找不到,则去默认namespace(namespace为空字符串)package里面去找action,如果还找不到页面提示找不到action

二、action配置各项默认值

Action配置中的各项默认值:
1、如果没有为action指定class,默认是ActionSupport
2、如果没有为action指定method,默认执行action中的execute()方法,返回SUCCESS
3、如果没有指定resultname属性,默认值为success

三、result的各种转发类型

常用的类型有:dispatcher(默认)redirectredirectActionplainText

1redirect
<result type="redirect">/view.jsp</result>

还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性。如下:
<result type="redirect">/view.jsp?id=${id}</result>

2redirectAction
如果是同一个包下:
<result type="redirectAction">list</result>

如果重定向的action在别的命名空间下,采用注入的形式:
<result type="redirectAction">
 <param name="actionName">list</param>
 <param name="namespace">/test</param>
</result>

3plainText
显示原始文件内容,如显示jsp文件源代码:
<result name="source" type="plainText">
 <param name="location">/xxx.jsp</param>
 <param name="charSet">UTF-8</param>
</result>

扫描二维码关注公众号,回复: 3067650 查看本文章

四、action属性注入

Struts2Action属性提供了依赖注入功能:
public class HelloAction{
 private String savePath;

 public String setSavePath(String savePath){
  this.savePath=savePath;
 }
 ...
}

<package name="itcast" namespace="/test" extends="struts-default">
 <action name="hello" class="cn.itcast.action.HelloAction">
  <param name="savePath">/images</param>
  ...
 </action>
</package>

通过<param>节点为actionsavePath属性注入"/images"

五、Struts2中常用的常量配置
<!--指定Struts2处理的请求后缀-->
<constant name="struts.action.extension" value="do"/>

<!--指定默认编码集-->
<constant name="struts.i18n.encoding" value="UTF-8"/>

<!--设置浏览器是否缓存静态内容,默认为true(生产环境下使用),开发阶段最好关闭-->
<constant name="struts.serve.static.browserCache" value="false"/>

<!--struts的配置文件修改后,系统是否自动重新加载该文件,默认为false(生产环境使用),开发阶段最好打开-->
<constant name="struts.configuration.xml.reload" value="true"/>

<!--上传文件的大小限制-->
<constant name="struts.multipart.maxSize" value="10701096"/>

猜你喜欢

转载自blog.csdn.net/liberty12345678/article/details/82223452