struts.xml中的package的配置
name
:逻辑上的包名
namespace
:命名空间,用来区分同意struts下的相同action(注意是一种逻辑上的的路径) 默认 /
extends
: 继承某个配置文件 默认 struts-default
具体使用过程中要注意,有与命名空间的命名,我们要在相应的过程中加上对应的命名空间的路径,例如:
1
| <s:form action="db/login.action" method="post">
|
此代码说明的就是将会去调用db命名空间下的login对应的action
标签的下的是物理路径(绝对路径),即指在项目中的实际位置,代码如下
1
| <result name="success">/login/error.jsp</result>
|
struts.xml中的result的配置
对于action的配置我这里面只是简单的概括,具体很多细节性的东西我将专门写一篇博客,主要讲解的动态的对action进行配置属性有:
name
:Action类的映射名称 默认值 success
class
:Action类的完整路径
method
:默认使用的execute()方法,如果要自定义触发方法,需要使用method自定义 默认值 execute
struts.xml配置过程中的注意信息
在实际开发的项目中,我们可能需要配置很多的action,有时候为了便于我们的分类,我们一般需要创建不同包下的struts-user.xml文件,不过最终我们的这些配置都是要导入进我们的struts.xml文件中。使用的标签和jsp编程中
struts.xml
1 2 3 4 5 6 7 8 9
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts> <include file="struts-user.xml"></include> </struts>
|
struts-user.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts> <constant name="struts.ui.theme" value="simple"></constant> <package name="user" namespace="/db" extends="struts-default"> <action name="login" class="com.action.UserAction" method="execude2"> <result name="success">/login/success.jsp</result> <result name="error">/login/error.jsp</result> </action> </package> <package name="usertemp" namespace="/temp" extends="struts-default"> <action name="login" class="com.action.UserAction" method="execude2"> <result name="success">/login/error.jsp</result> <result name="error">/login/success.jsp</result> </action> </package> </struts>
|
Action的动态结果的配置
通过通配符实现,不同的类响应不同的类中的方法:
1 2 3
| <action name="*_*" class="com.action.{1}Action" method="{2}"> <result >/{2}.jsp</result> </action>
|
UserAction.Java
1 2 3 4
| public class UserAction extends ActionSupport { private String nextResult; ... }
|
Struts2.xml
1 2 3
| <action name="user" class="action.UserAction"> <result>/{nextResult}</result> </action>
|