包配置(package----多个action、多个拦截器、多个拦截器引用的集合)<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts>
<!-- 配置编码 --> <constant name="struts.i18n.encoding" value="utf-8"></constant>
... </struts>
命名空间的配置<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts>
<!-- 一个struts.xml文件可配置多个package。其中package中的name属性是必须的,用来指定包的名称;extends属性必须是另一个包的name属性的值,是用来继承其他的包的;namespace属性用来指定包的命名空间,同一个命名空间不能有相同的action。 --> <package name="default" extends="struts-default" namespace="/">
...
</package>
</struts>
拦截器(AOP(面向切面编程)的思想)配置<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts>
<!-- 下面两个包的namespace分别是“/”和“phn”;假设项目名为struts2,则访问时应注意:上一个login.action应该这样访问:"http://localhost:8080/struts2/login";下一个register.action应该这样访问:"http://localhost:8080/struts2/phn/register" -->
<package name="com" extends="struts-default" namespace="/"> <action name="login" class="com.LoginAction"> <result name="success">success.jsp</result> <result name="error">error.jsp</result> </action> </package>
<package name="phn" extends="struts-default" namespace="/phn">
<action name="register" class="phn.RegisterAction">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package> </struts>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.i18n.encoding" value="utf-8"></constant> <package name="default" extends="struts-default" namespace="/"> <interceptors> <!-- 登录权限的控制 --> <interceptor name="loginPermissions" class="com.phn.LoginPermissions"></interceptor> <!-- 记录日志 --> <interceptor name="log" class="com.phn.LoginInterceptor"></interceptor> <!-- 定义一个拦截器的栈 --> <interceptor-stack name="permissionsAndLog"> <interceptor-ref name="loginPermissions"></interceptor-ref> <interceptor-ref name="log"></interceptor-ref> </interceptor-stack> </interceptors> <action name="login" class="com.LoginAction"> <interceptor-ref name="permissionsAndLog"></interceptor-ref> <result name="success">success.jsp</result> </action> </package> </struts>