Struct2 是在WebWork2 基础上发展起来的。它属于非侵入式设计(Struct1是侵入式设计)
特点:
1。提供了拦截器
2。提供了类型转换器
3。提供了输入校验功能。
4。提供了国际化的管理功能。
搭建STRUC2的开发环境:
1. 添加依赖的jar 文件
2。编写struct2 的配置文件: 必须放置在web-info/classess 的目录下面
3。在web.xml 中加入struct2的启动配置.(框架是通过filter启动的(stuct1 是通过servlet启动的.)_
struct2的框架结构(引自stuct2的官方站点)
![](http://www.vaannila.com/images/struts2/Interceptor1Pic1.gif)
![](http://www.vaannila.com/images/struts2/ValueStackPic1.gif)
必须配置继承 extends="struts-default"。 否则将不能使用struct2 默认的许多功能.
如果包定义成abstract ="true" 不能包含action
<struts>
<package name="employee" extends="struts-default" namespace="/employee">
<default-interceptor-ref name="crudStack"/>
<action name="list" method="list"
class="org.apache.struts2.showcase.action.EmployeeAction" >
<result>/empmanager/listEmployees.jsp</result>
<interceptor-ref name="basicStack"/>
</action>
<action name="edit-*" class="org.apache.struts2.showcase.action.EmployeeAction">
<param name="empId">{1}</param>
<result>/empmanager/editEmployee.jsp</result>
<interceptor-ref name="crudStack">
<param name="validation.excludeMethods">execute</param>
</interceptor-ref>
</action>
<action name="save" method="save"
class="org.apache.struts2.showcase.action.EmployeeAction" >
<result name="input">/empmanager/editEmployee.jsp</result>
<result type="redirect">edit-${currentEmployee.empId}.action</result>
</action>
<action name="delete" method="delete"
class="org.apache.struts2.showcase.action.EmployeeAction" >
<result name="error">/empmanager/editEmployee.jsp</result>
<result type="redirect">edit-${currentEmployee.empId}.action</result>
</action>
</package>
</struts>
|