关于Struts的配置文件(二)
2013-07-20 14:04
471 查看
之前列出了struts.property里面的大部分属性,基本是记不住的,就是要用的时候多查查。
今天主要说的是struts.xml里面的配置。
1.最常用的package配置
name:必填,用来指定包的属性
extends:可选,用来指定继承,可以继承其他包的Action或拦截器
通常我们配置struts.xml的时候,都继承一个名为“struts-default.xml”的包,这是struts2中内置的包。
namespace:可选,用来指定命名空间
2.命名空间的配置
可以通过namespace去配置访问action的url
例如
访问的路径变为
http://localhost:8080/user/login.action
若没有设定namespace,默认的namespace为""
3.包含配置<include>
当package列表太长,我们可以使用包含配置来管理配置文件。
我们除了可以使用struts.property定义struts2的配置文件外,还可以通过struts.xml做配置。
可以与struts.property里面的可配置属性一一对应。
5.Action中通配符的使用。
当action中返回的方法吗和返回值类似时,可以用通配符的方式来简化配置。
对于某些公用的action,可以讲结果集定义在globalresult中,这样做的话,当struts发现action中返回的结果中不被包含在action定义的结果集中时,就会从globalresult中查找,
HelloAction可以相应login和success两个结果集。
7.<default-class-ref>
当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用<default-class-ref>标签中所指定的类。在Struts2框架中,系统默认的class为ActionSupport,该配置我们可以在xwork的核心包下的xwork-default.xml文件中找到。
8.<default-action-ref>
如果在请求一个没有定义过的Action资源时,系统就会抛出404错误。这种错误不可避免,但这样的页面并不友好。我们可以使用<default-action-ref>来指定一个默认的Action,如果系统没有找到指定的Action,就会指定来调用这个默认的Action。
另外常用的可以配置的tag还有interceptor和exception,之后会用另外的章节单独介绍。
今天主要说的是struts.xml里面的配置。
1.最常用的package配置
name:必填,用来指定包的属性
extends:可选,用来指定继承,可以继承其他包的Action或拦截器
通常我们配置struts.xml的时候,都继承一个名为“struts-default.xml”的包,这是struts2中内置的包。
namespace:可选,用来指定命名空间
2.命名空间的配置
可以通过namespace去配置访问action的url
例如
<packagename="user"namespace="/User"extends="struts-default"> <actionname="Login"> <result>pages/login.jsp</result> </action> <actionname="Welcome"class="org.mxiao.struts.action.HelloAction"> <resultname="SUCCESS">pages/welcome.jsp</result> </action> </package>
访问的路径变为
若没有设定namespace,默认的namespace为""
3.包含配置<include>
当package列表太长,我们可以使用包含配置来管理配置文件。
<struts> <includefile="user.xml"/> <includefile="goods.xml"/> <includefile="order.xml"/> </struts>
4.常量配置<Constant>
我们除了可以使用struts.property定义struts2的配置文件外,还可以通过struts.xml做配置。
<struts>
..............
<constantname="struts.i18n.encoding"value="GB2312"/>
</struts>
可以与struts.property里面的可配置属性一一对应。
5.Action中通配符的使用。
当action中返回的方法吗和返回值类似时,可以用通配符的方式来简化配置。
publicclassTest{
publicStringhello1(){
return"result1";
}
publicStringhello2(){
return"result2";
}
publicStringhello3(){
return"result3";
}
}
<packagename="struts2app"extends="struts-default">
<actionname="hello*"class="com.mxiao.action.hello{1}">
<resultname="result{1}">/result{1}.jsp</result>
</action>
</package>
另外在url或form中使用'!'可以使用访问action中指定的方法。
例如可以使用TestAction!hello1来访问该方法。
6.gloalresult
对于某些公用的action,可以讲结果集定义在globalresult中,这样做的话,当struts发现action中返回的结果中不被包含在action定义的结果集中时,就会从globalresult中查找,
<packagename="user"namespace="/User"extends="struts-default">
<global-results>
<resultname="login">pages/login.jsp</result>
</global-results>
<actionname="ActionTest"class="org.mxiao.struts.action.HelloAction">
<resultname="success">pages/welcome.jsp</result>
</action>
</package>
HelloAction可以相应login和success两个结果集。
7.<default-class-ref>
当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用<default-class-ref>标签中所指定的类。在Struts2框架中,系统默认的class为ActionSupport,该配置我们可以在xwork的核心包下的xwork-default.xml文件中找到。
8.<default-action-ref>
如果在请求一个没有定义过的Action资源时,系统就会抛出404错误。这种错误不可避免,但这样的页面并不友好。我们可以使用<default-action-ref>来指定一个默认的Action,如果系统没有找到指定的Action,就会指定来调用这个默认的Action。
另外常用的可以配置的tag还有interceptor和exception,之后会用另外的章节单独介绍。
相关文章推荐
- 关于struts的配置文件
- struts 中关于xml配置文件中namespace的理解
- 关于struts结构中配置文件action forward的写法
- 关于Liferay的配置文件 —— 基于Struts开发Portlet
- 关于在struts.xml文件中的各个节点的配置顺序问题
- 帮帮忙了,我是初学者在学习Struts2时关于文件上传时的错误,不知道怎么去改了,让我花费一下午的时间还是不对,一直提示我配置不对
- 关于struts2在struts.xml配置文件遇到的问题
- 关于SSH框架配置文件 Hibernate.cfg.xml 、struts.xml、spring.xml
- 关于Struts的配置文件(一)
- 关于Liferay的配置文件 —— 基于Struts开发Portlet
- 关于Struts1.2配置文件的Action访问路径相关问题
- struts配置文件的formbean
- struts-config.xml配置文件
- 关于hibernate映射继承关系时独立的子类配置文件的问题
- 关于Win7系统中软件安装目录下ini配置文件的读写问题
- 关于一个项目中全局配置文件读取的注意事项
- myeclipse中写struts.xml配置文件打开提示功能
- struts的配置文件详解
- 关于MyEclipse对Struts2配置文件较检异常 Invalid result location value/parameter
- 关于用struts所配置的Action默认页面的跳转问题