




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Web 常使用的功能经验笔记第 1 季:suhuanzh前言Apache 的 Struts2 已经是很流行的MVC Web 框架了,很多 Web 开发1.都是使用它做为 Web 框架。它是在 struts 和 WebWork 的技术基础上进行了合并,全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与Struts 1 的体系结构的差别巨大。Struts 2 以WebWork为,采用器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开,所以 Struts 2 可以理解为WebWork 的更新产品。因为 Struts 2和 Stru
2、ts 1 有着太大的变化,但是相对于 WebWork,Struts 2 只有很小的变化。像 Struts2的常用配置功能笔者就不在说了,在此结合作者的 Web 相关技术(Struts2、JSTL、EL)使用经验做个总结,希望与您有个共鸣。判断2.当在request 域里面的对象需要判断的时候,可以选用,当然 Struts2 的所有都必须在一个Action 转向后才能使用的,直接例如:一个JSP 就使用 Struts2 的,报错。在页面中变量(#、%、$)3.OGNL 是通常要结合Struts 2 的标志一起使用。主要是#、%和$这三个符号的使用。一般使用 JSP 内置对象域的变量的时候(app
3、lication、ses、request、parameters)都需要使用Struts例如:+#来进行,一般用于Ses里面的变量。或者在 Struts2中内置对象的变量的时候前面得用%将变量括起来。如果在 Action 中被注入的对象在ValueStack 域中的时候,在页面中可以直接采用 el 表达1 / 8抢购抢购式来变量。例如:如果变量显示的在Action 中直接赋值(set)给了request、ses域中后,在页面也可以直接使用 el 表达式来进行断、计算等。代码如下。,但是这里仅仅只是显示,并不能在 Struts2中判一般 Struts2要配合OGNL 表达式一齐使用,包括一些运算、
4、判断、取子字符串等等。在此别人博客(http/problems/51144)上的一段话JSTL 格式化数字一般用到整数、小数格式化的时候可以直接用JSTL 来处理。4.使用 jstl 的fmt可以对页面的值进行格式化、显示等功能。引入:保留整数,小数后一位是 02 / 8 ses application 顺序其属性(attribute) #attr.userName 相当于按顺序在以上三个范围(scope)内userName 属性,直到找到为止用于过滤和投影(projecting)集合,如 books.?#this.price100; 3.构造 Map,如#foo1:bar1, foo2:ba
5、r2。“%”符号的用途是在标志的属性为字符串类型时,计算 OGNL 表达式的值。“$”有两个主要的用途,用于在资源文件中,OGNL 表达式。在 Struts 2 配置文件中,OGNL 表达式。你好,$ses.!$products.sourcePrice保留两位小数资源文件Struts2 日期代码如下格式化日期5.显示出来得值就是 2011-01-10 21:09:26利用 Struts2 错误显示Action 中显示发生的错误6.其中errorMessage 是Action 中错误域中的key。利用 Struts2得到字符串长度和截取子字符串7.Struts2 的 JSON 插件,让 Stru
6、ts2 也REST 起来利用 Struts2 的 json 插件struts2-json-plugin-2.1.8.jar(在 Struts-all 包中有此插件包)首先看 struts.xml 的配置8.3 / 8=40.errorMessagevalue=$(products.nowPrice/products.sourcePrice)*10pattern=#.0 /折 4 / 8 hasNoToken.jspinput.jsperror.jsp/admin/jqgrid.jsp/adm ain.jsp下面来看 UserAction 的部分代码:上面是返回到”sucsJson”的结果中,在
7、web 前端只要通过任何的http 请求到userAction! listTemp.action,返回的结果中就可以获得objectList 变量的 json格式字符串。前端如何,就是前端的事情了。9. Struts2 的器它一般作为Ses建权(建立权限)用,在器中进行ses的判断。一段别人的代码器配置先看5 / 8public claserAction extends BaseAction public List objectList;JSONpublic List getObjectList() return objectList;public void setObjectList(Lis
8、t objectList) this.objectList = objectList;/*临时测试用*return*/public String listTemp() /录数objectList = uxAdmin.findAll();return sucsJson;/admin/login.jsp之后编辑器类6 / 8SuppressWarnings(serial)public class LoginAutherceptor extends AbstractOverridepublic Stringercept(ActionInvocation actionInvocation) throw
9、s Exception / 获得会话中的用户字段Map ses= actionInvocation.getInvocationContext().getSes(); String user = (String) ses;if (null = user) return Action.LOGIN; else StringBuffer invokeMtd = new StringBuffer(actionInvocation.getProxy().getNamespace(); invokeMtd.append(/+ actionInvocation.getInvocationContext().g
10、etName(); String role = (String) ses.get(ISysParam.USER_ROLE);/测试代码 如果是用户名是admin 则不进行权限判断/if(user.equals(ISysParam.ROLETYPE_ADMIN)/return actionInvocation.invoke();/* 得到该所能操作的名称空间 if(可以当前的名称空间) 跳出器 else 转到没限的页面 */if (role.contains(invokeMtd.toString() /return actionInvocation.invoke();/userLogin/err
11、or.jsp/modifyodifyPW.jsp/userLogin/forbid.jsp之后的流程配置如下自己定义在这个包下面定义器, 这个包下面定义器栈的defaultStack 和你自己,定义的器!然后你需要用这个器的包都继承这个包就好了!10. Struts2 的防刷新提交机制在 Struts2 中解决表单的重复提交感觉还算简单。token: 在活动中检查合法令牌(token), 防止表单的重复提交;: 同上, 但是在接到令牌时将提交的数据保存在ses中;tokenSes首先在 struts.xml 中配置 Action 如下信息7 / 8action name=* method=1
12、class=1.jsp1.jsp1.jsp1.jsp1.jsp1.jsp/ else /return forbid;/ if (!user.getUserName().equals(ISysParam.ROLETYPE_ADMIN) / / 对非ADMIN 用户,检查模块权限/ if (!chkPrivilege() / log.debug(user.getUserName() + : +ISysParam.OPER_CANCEL);/ return FORBID;/ / / return actionInvocation.invoke();/ return actionInvocation.
13、invoke();在这个 Action 中了 2 个器,一个是默认的注入器 defaultStack,另一个就是令牌器token,之后还定义了一个重复提交后的返回地址invalid.token。之后在页面表单form 中加入就可以了。patible content=IE=7 /的意思11. meta http-equiv=patible 是针对 ie8 新加的一个设置,对于 ie8 之外的浏览器是不识别的,这个区别与 content=IE=7在无论页面是否包含指令,都像是使用了 WindowsernetExplorer 7 的标准模式。而 content=IE=EmulateIE7模式遵循指令。对于多数来说,它是首选的兼容性模式。目前 IE8 尚在测试版中,所以为了避免制作出的页面在IE8 下面出现错误,建议直接将IE8使用 IE7 进行渲染。也就是直接在页面的header
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025导游证资格考试准备工作试题及答案
- 演出业界成功案例分析试题及答案
- 营养师资格证注意事项及试题答案2024
- 房地产经纪人考试实战试题与答案分析
- 确保营养学理论与实务结合试题及答案
- 演出经纪人资格证职业发展试题及答案
- 2024营养师考试技巧与试题答案
- 营养学热点及其考查试题及答案
- 2024年营养师考前辅导准备试题及答案
- 现代物流自考题库及答案
- 三年级下册语文七彩课堂
- 第7课 全球联系的初步建立与世界格局的演变 高中历史统编版(2019)必修中外历史纲要下册
- 湖北省武汉市2024-2025学年高三2月调研考试英语试题含答案
- 2025年南京机电职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析
- 骆驼祥子-(一)-剧本
- 《工程勘察设计收费标准》(2002年修订本)
- 老旧小区装修改造工程施工方案(完整版)
- 三借芭蕉扇剧本新
- 宋词鉴赏辞典 下载-《唐宋词鉴赏辞典(唐五代北宋)》最新txt全集下载
- 我国造船工艺创新发展三十年
- 金属有机化学:第二章电子计数与18电子规则
评论
0/150
提交评论