struts2学习总结(一)
来源:互联网 发布:crm软件价格 编辑:程序博客网 时间:2024/06/06 06:52
学习struts2框架,首先是搭建struts2环境:
一、下载struts2jar包(核心jar)并加入到web工程lib目录下:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.16.jar
javassist-3.7.ga.jar
ognl-3.0.jar
struts2-core-2.2.1.1.jar
xwork-core-2.2.1.1.jar
二、配置web.xml:
struts2框架是通过过滤器加载到web工程中的,所以我们只需要在web.xml配置对应的filter就行。
<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>
其中StrutsPrepareAndExecuteFileter过滤器能够拦截前端请求,使请求交由struts控制器处理。
三、配置struts.xml:
映射路径的配置:
1、常用配置:
<action name="inittopAction" class="com.sxt.oa.action.InitAction" method="top"><result name="top">/top.jsp</result></action><action name="inittopAction" class="com.sxt.oa.action.InitAction" method="left"><result name="top">/left.jsp</result></action>
2、表达式配置(推荐)
<action name="init*Action" class="com.sxt.oa.action.InitAction" method="{1}"><result name="{1}">/{1}.jsp</result></action>
其中代表关键字,{1}表示前面的代表的内容。前端请求的action只要符合init*Action的格式就可以请求到这个映射。这样写可以简化配置代码,所以推荐使用。
3、自由配置(自己取得名字,嘿嘿)
<action name="initAction" class="com.sxt.oa.action.InitAction"><result name="top.jsp">/top.jsp</result><result name="left.jsp">/left.jsp</result></action>
细心的人会发生这里的配置没有写method的配置,大家可不要以为我这边是使用默认方法。方法的配置可以放到前端的请求jsp页面上去。如:,其中感叹号后面的top就是对应要访问的方法。
四、action的逻辑实现:
1、对请求表单的处理:
1).属性驱动加载表单:
private String userName;private String userPwd;public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPwd() { return userPwd; } public void setUserPwd(String userPwd) { this.userPwd = userPwd; }
form表单中只要把name属性写成对应的userName、userPwd即可。
2).javabean驱动加载表单:
把上面的userName、userPwd封装成User类。
private User user;public Construct(){//空构造方法 user = new User();}public void setUser(){ this.user = user;}public User getUser(){ return user;}
form表单中只要把name属性写成对应的user.userName、user.userPwd即可。
3).模型驱动加载表单(推荐):
实现ModelDriven中的getModel()即可。
public class UserAction implements ModelDriven<User>{ private User user; public UserAction(){ user = new User();} public User getModel(){//实现ModelDriven接口的方法 return this.user;}}
2、对作用域的处理(请求作用域、会话作用域、工程作用域):
1)、使用ActionContext.getContext()对象调用getApplication()、getSession()获得对应的application、session对象。request对象的功能struts2已封装好,直接使用ActionContext.getContext()对象即可,如:向request请求作用域中添加内容,ActionContext.getContext().put(“user”,getModel())即可(推荐使用该方法)。
2)、使用ServletActionContext类调用getRequest()、getResponse()、getActionContext()可获得相对应的作用域象。
3)、实现RequestAware、SessionAware、ApplicationAware接口,重写其对应的set方法也可获得作用域对象。
- struts2学习总结(一)
- Struts2学习总结(一)
- Struts2学习总结(一):Struts2结构体系
- [Struts2]Struts2学习总结
- Struts2总结 一
- struts2总结(一)
- Struts2---基础总结一
- Struts2之struts2学习总结
- Struts2学习(一) 国际化
- struts2学习笔记(一)
- Struts2 学习笔记一
- struts2学习一
- struts2学习笔记(一)
- struts2学习笔记一
- struts2学习笔记(一)
- Struts2学习笔记(一)
- struts2学习一
- struts2学习笔记一
- Ubuntu12.04编译vlc-android详细流程
- STM32 双DAC DMA TIM6输出正弦波例子
- SecureCRT中常用linux命令
- 源码搭建lnmp环境
- Solr查询中的局部参数Local Parameters
- struts2学习总结(一)
- CocoaPods 的简单快速安装方法
- mvc加载控制器、模型类以及视图类编写
- sum-root-to-leaf-numbers
- MVC框架自己封装开启超神之路(上) 2-1入口文件
- oracle中的having子句
- Dijkstra算法
- PHP闭包 function() use()
- Linux下基于源码安装MySQL