标签:
1. Struts2需要运行在JRE1.5及以上版本
2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下
* javassist-3.11.0.GA.jar
* freemarker-2.3.19.jar
* ognl-3.0.6.jar
* commons-logging-1.1.3.jar
* commons-lang3-3.1.jar
* commons-io-2.2.jar
* commons-fileupload-1.3.jar
* struts2-core-2.3.16.jar
* xwork-core-2.3.16.jar
3. 提供struts2配置文件struts.xml,放到src下
4. 创建Struts2的Action,Struts2的action可以不用继承Struts2框架中的任何类,也不用实现Struts2框架中的任何接口,所以Struts2的Action可以是
一个POJO(纯粹的Java对象)所以Struts2的Action测试更容易。但是一般情况下会继承ActionSupport。
继承的好处:
1). 重写方法,可以防止方法名写错,重写方法时加上override。
2). 利用父类或接口中定义好的字符串常量。
3). 开发更规范
Struts2缺省方法名称:public String execute() throws Exception;默认情况下执行。
5. 在Action中为属性提供getter和setter方法,便于收集数据(这样收集数据的模式一般可以称为属性驱动模式)。若页面有与它对应的属性时,
可以直接获取值(通过拦截器利用反射取值)。
6. struts2中配置文件对应的action中方法若有返回值必须是String类型且无参数。
7. 将JSP和Action的对应关系配置到struts.xml配置文件中。
1). action标签需要配置在package标签中
2). 返回需要配置在result标签中
3). package必须继承struts-default(18个拦截器),这样就拥有了最基本的功能。
标准配置举例:
<struts>
<package name="struts2" extends="struts-default" namespace="/">
<action name="testShow" class="com.mumu.action.TestAction">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
在配置文件中result中name="success"和type="dispatcher"为默认值,可以不写。
8. 了解struts-default.xml配置文件,default.properties,Struts2的默认后缀为.action
9. StrutsPrepareAndExecuteFilter实现Filter接口。记住这个过滤器。
10. struts2的常用配置参数
<!-- 配置编码方式 -->
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<!-- 会提供更加友好的提示信息 -->
<constant name="struts.devMode" value="true"></constant>
<!-- 当struts.xml配置文件发生修改,会立刻加载,在生产环境下最好不要配置 -->
<constant name="struts.configuration.xml.reload" value="true"></constant>
以上参数配置方式有两种:
* 在struts.properties文件中配置
* 在struts.xml配置文件中(借助帮助提示查看位置,配置文件报错可能是位置顺序错误)
11. 可以为某个模块建立单独的配置文件,该配置文件的格式需要和struts.xml配置文件的格式一致在struts.xml配置文件中采用<include>标签引入。
引入格式,</package>下面加上:<include file="com/mumu/action/one.xml"></include>
12. Action中属性对象直接获取方式:
1). 直接对Action中的对象赋值,在action中定义对象: (推荐)
eg:private User user;(action中有user的set和get方法)
在html中可以采用如下方式命名输入域:
<form action="login.action">
用户:<input type="text" name="user.username"><br>
密码:<input type="password" name="user.password"><br>
<input type="submit" value="登录">
</form>
或:
<s:textfield name="user.username" label="姓名"></s:textfield>
2). Struts2可以采用类似于Struts1中的ActionForm方式收集数据,这样方式叫ModelDriven模式(不推荐此种方式):
如何实现模型驱动模式?
* 创建User
* Action需要实现ModelDriven接口
* 实体对象不使用setter getter方法,但是要实例化对象(new)
* 实现getModel()方法,返回Bean对象(如:返回user).
* 页面只填写属性名称即可
标签:
原文地址:http://www.cnblogs.com/Jtianlin/p/4230752.html