![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA 多例模式之Struts2
李卫康的博客
本人学识渊博、经验丰富,代码风骚、效率恐怖,c/c++、java、php无不精通,熟练掌握各种框架,深山苦练20余年,一天只睡4小时,千里之外定位问题,瞬息之间修复上线。身体强壮、健步如飞,可连续编程100小时不休息,讨论技术方案5小时不喝水,上至带项目、出方案,下至盗账号、威胁pm,啥都能干。泡面矿泉水已备好,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送养。
展开
-
struts ognl表达式$%#三个符号使用
# 获取非根元素值 、 动态都建map集合 $ 配置文件取值 % 提供一个ognl表达式运行环境 body> br/>获取request域数据br/> <!-- property 标签是对象类型的标签,默认支持ognl表达式, 会从根元素去China名称对应的值 --> s:property value="China"/原创 2015-07-25 16:55:02 · 774 阅读 · 0 评论 -
struts 属性驱动
struts的数据封装的实现原理:使用了拦截器.进行数据的封装. 这个拦截器的执行流程: (1)用户访问login.jsp填写表单username和password,提交到user_login指定的UserAction中. (2)struts创建UserAction对象并把Action放到值栈中的root(list栈)中,UserAction的属性暴露.即这两个属性已经在栈顶 (3)执原创 2015-07-25 17:29:38 · 1037 阅读 · 0 评论 -
struts 验证规则
struts验证规则的原理: 为了实现验证,需要在action中添加一个方法,比如要重写的validate()方法。假设action中还有一个register的方法.在执行这个register方法之前会执行struts的默认拦截器 validation" class="org.apache.struts2.interceptor.validation.AnnotationValidationIn原创 2015-07-25 16:27:18 · 544 阅读 · 0 评论 -
struts2 之类型转化&日期
Struts中的基本类型是可以通过struts的默认类型转化器转化的..日日类型默认的是1992-02-03这样的格式,如果我们填写1992年02月03日,name就会报错...因此我们需要进行类型转化... 1.局部类型转化器: 开发步骤: (1)写一个类型转化器继承StrutsTypeConverter这个类. (2)在要转化的类的同级目录下写一个和ActionName-convers原创 2015-07-24 07:36:08 · 690 阅读 · 0 评论 -
struts 上传文件
文件上传的时候struts会使用默认18个拦截器中的进行处理。 文件上传Action类: Action类中定义三个属性: private File file1; 对应表单: private String file1FileName; 文件名 private String file1ContentType;文件的类型(MIME) 并且提供这三个属性的set方法。 文件上传表单:原创 2015-07-24 08:03:25 · 894 阅读 · 0 评论 -
struts 文件下载
文件下载步骤: (1)获取要下载的文件的文件名.对其进行编码处理,因为文件上传默认是get提交 (2)文件下载提交的业务方法 (3)返回文件流的方法 (4)下载显示的文件名 文件下载列表: 编号 文件名 操作 ${v.count} ${fileName}原创 2015-07-24 08:15:47 · 894 阅读 · 0 评论 -
struts 拦截器入门&执行流程
开发拦截器的步骤: (1)写一个拦截器类实现Interceptor接口 (2)在struts.xml文件中进行配置 案例:测试拦截器和Action的执行流程 HelloAction类 package cn.itcast.interceptor; import com.opensymphony.xwork2.ActionSupport; public class HelloAction原创 2015-07-24 20:43:48 · 799 阅读 · 0 评论 -
Ognl表达式 值栈对象ValueStack
ValueStack值栈主要包含另个部分: 1.map栈(非根元素) context:主要存储域对象。 2.list栈(根元素) root:主要存储 (1)通过值栈的push()方法存放的对象 (2)Map对象(通过值栈的set()方法存放的数据) (3)Action对象 (4)其他代理对象. 测试类OgnlDemo2 package cn.itcast.ognl; import原创 2015-07-24 21:43:14 · 639 阅读 · 0 评论 -
struts ognl表达式底层执行原理
ognl Api类: OgnlContext对象,底层实现了map接口..因此它是一个map对象 放到ValueStack的list栈中的对象不用使用#号 放到ValueStack的map栈中的对象要使用#号 package cn.itcast.ognl; import ognl.Ognl; import ognl.OgnlContext; import ognl.OgnlExceptio原创 2015-07-24 21:02:51 · 690 阅读 · 0 评论