您的位置:首页 > 编程语言 > Java开发

关于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

例如

<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>


访问的路径变为

http://localhost:8080/user/login.action

若没有设定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,之后会用另外的章节单独介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: