Struts2知识点总结报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.简介
Struts 2是Struts 的下一代产品,是在 struts 1和WebWork 的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork 为核心,采用拦截器的机制来处理用户的请求,
2.Struts2处理流程
3.Struts2基础
除了Metnod 调用指定的方法为还有一种动态调用
1.在请求的页面就指定调用的action 名称及方法,语法:actionName!methodName.action,action 可以省略,
2.在
结果数据传递给jsp 处理后的html 响应用户
的是redirect,请求重定向的指定的URL,redirectAction重定向到指定的Action,chain:将请求转发到指定的Action,json返回JSON对象
如果result的内容不是一个具体的jsp页面而是${}形式的这就是动态结果的配置,就是结果页面在配置是不能确定,需要在运行时才能确定,比如管理员和普通用户登录,详细的动态结果配置详见资料
Action类实现的方法有三种
1.继承ActionSupport (常用)
2.实现Action接口
3.自己编写方法
Action接收参数
1属性方式接收参数,
2Javabean方式接收参数(常用)
3.moderlDriven方式接收参数
Struts2访问servletAPI的方法
在jsp课程中,服务器保存数据的作用域通常有request,session,application,他们对应的servletAPI 分别是HttpServletRequest,HttpSession,servletContext,同样在struts2控制器(action)中也需要访问这些作用域,有三种方法
1.使用ActionContext类提供的方法
2.以依然注入(IoC)方式访问,实现响应的接口即可
3.使用以耦合方式使用ServletActionContext类访问
OGNL与struts标签
引入的标签指令<%@taglib uri="/struts-tags" prefix="s"%>
理解值栈(存储action属性的地方)和stackcontext(存储request,session的地方)概念,并且使用<s:debug>查看值栈访问的值OGNL访问集合知识点,不常用
字符串转换OGNL表达式用户%{}相反的加’’单引号
Struts2标签
可分为通用标签,控制标签,Ajax标签
通用标签又分为数据标签和控制标签
数据标签:<s:property>
<s:debug>
<s:date>
<s:set>
<s:url>和<s:a>
<s:param>
<s:include>
控制标签
<s:if>,<s:elseif><s:else>
<s:iterator>
UI标签
理解模板与主题,模板用于生成HTML代码,共同风格和观感的模板组织到一起就成了一个主题,内建的主题有simple,xhtml,css_xhtml(默认),css_xhtml,ajax主题的更改用标签属性theme=”simple”
标签:
Ajax标签
Datetimepicker是一个日历控件
导入相应的包引入<%@taglib uri="/struts-dojo-tags" prefix="sx"%>指令
在
中添加添加标签
4.数据校验
数据校验分为客户端验证和服务器端验证,sruts2对服务器端的验证有两种,
1.使用actionsupport编码实现验证
2.使用验证框架实现验证,
使用actionsupport编码进行验证的方法有三种,
1.直接在action类业务方法中验证,
2.重写validate()方法实现验证,
3.使用validateXXX()方法实现验证
验证的关键点在于当用户名或密码没填写时添加addFieldError()方法,此方法处理与字段相关的错误,比如输入的年龄不合理,响应的jsp输出错误的标签是
如果两种情况有任何一种错误(hasErrors())就return到INPUT结果集中(事先已经配置好) 使用验证框架
使用特定的配置框架即可,命名的前半部分是action 的名字,可对全局和局部进行验证!具体查看相关资料
5.拦截器
拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略