摘要: 二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot---->WEB-INF目录下新建一个目录lib,用于存放jar包(Struts2和spring整合所需jar包) 将项目名称为day29_02_struts2Spring,WebRoot---->WEB... 阅读全文
posted @ 2016-09-19 21:22 runningto 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 二十五、防止表单重复提交 防止表单重复提交: 有两种方式: 利用重定向 使用拦截器 编写jsp页面 配置拦截器 ... 阅读全文
posted @ 2016-09-19 21:18 runningto 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 二十四、Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) 可以使用OGNL表达式 模板: 常量设置的:struts.ui.theme=xhtml 开发中建议设置为struts.ui.theme=simple; 阅读全文
posted @ 2016-09-19 21:15 runningto 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 二十三、常用的标签:见源码 --> 登录名: ... 阅读全文
posted @ 2016-09-19 20:33 runningto 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 二十二、OGNL的一些其他操作 投影 ?判断满足条件 动作类代码: ^ $ public class Demo2Action extends ActionSupport { public Demo2Action() { Syst... 阅读全文
posted @ 2016-09-19 20:25 runningto 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 二十一、contextMap中放的常用数据 request:请求范围的数据。即ServletRequest中的那个Map parameters:请求参数的数据。即request.getParameterMap得到 application:应用范围的数据。即ServletContext中的那个Map session:会话范围的数据。即HttpSession中的那个Map attr:也是一个Map。会... 阅读全文
posted @ 2016-09-19 20:23 runningto 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 二十、ValueStack的常用方法 void set(String key,Object value):先获取根栈栈顶的Map,如果不存在,压入一个新的Map public String execute() throws Exception { ValueStack vs = ActionContext.getContext().getValueStack();... 阅读全文
posted @ 2016-09-19 20:22 runningto 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 利用OGNL获取ValueStack中:根栈和contextMap中的数据 原则:OGNL表达式如果以#开头,访问的contextMap中的数据 如果不以#开头,是访问的根栈中的对象的属性(List集合) 1、在动作类中 public String execute() { // 操作ValueStack // 从当前线程中获取A... 阅读全文
posted @ 2016-09-19 20:18 runningto 阅读(827) 评论(0) 推荐(0) 编辑
摘要: ValueStack&ActionContext(非常重点:值栈) 1、针对用户的每次动作访问,都会创建属于自己的ValueStack对象 2、ValueStack中的的常用方法:功能一定要知道干什么的。实现类OgnlValueStack getContext():返回的是一个Map *getRoot():返回的是一个CompoundRoot。 CompoundRoot... 阅读全文
posted @ 2016-09-19 20:10 runningto 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 十七、OGNL OGNL简介: OGNL是对象导航图语言。它是一个独立的项目。早期的webwork框架用到了OGNL作为自己的表达式语言, 所以struts2也是用OGNL作为表达式语言,当然也可以使用EL作为表达式语言。 几大特点 在struts2使用OGNL的前提:要使用struts2的标签。 支持对象方法调用 支持类静态的方法调用和值访问 支持赋值操作和表达式串联 访问OGNL上下文(OGN... 阅读全文
posted @ 2016-09-19 20:08 runningto 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 文件上传与下载 1.文件上传前提: 2.动作类中字段需要符合命名规范 表单字段名:image 动作类:File image; String imageFileName; 文件名 String imageContentType;文件的MIME类型 3.上传拦截器参数的配置 文件大小、文件类型限制等 错误... 阅读全文
posted @ 2016-09-19 20:06 runningto 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 十五、struts2中的拦截器(框架功能核心) 1、过滤器VS拦截器 功能是一回事。 过滤器是Servlet规范中的技术,可以对请求和响应进行过滤。 拦截器是Struts2框架中的技术,实现AOP(面向切面)的编程思想,可以对请求动作进行拦截。 2、自定义拦截器 步骤: 编写一个类,直接或间接实现Interceptor接口。(拦截器会驻留内存),一般都选择继承AbstractIntercept... 阅读全文
posted @ 2016-09-19 20:05 runningto 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 十四、Struts2的国际化 1、配置全局国际化消息资源包 配置全局消息资源包 b、如何访问 在动作类中: 前提,动作类继承ActionSupport public class Demo1Action extends ActionSupport{ @Overrid... 阅读全文
posted @ 2016-09-19 20:04 runningto 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 十三、用户输入数据的校验 1、校验方式: a:客户端校验。(防君子不防小人)在页面中写js脚本。 输入错误的话提醒比较及时; 减轻服务器的压力 b、服务器端校验。 数据安全 开发中:a+b 2、服务器端校验: 编程式校验:自己编写一个校验代码(缺点:验证规则都写在了代码中) 前提:动作类继承ActionSupport。 1、针对动作类中的所有动作进... 阅读全文
posted @ 2016-09-19 19:58 runningto 阅读(937) 评论(0) 推荐(0) 编辑
摘要: 十二、类型转换: 1、用户界面传来的数据都是String:String---->其他类型 显示或者是数据回显:其他类型----->String 基本类型自动转换。 java.util.DateString(中国:Struts2默认按照yyyy-MM-dd本地格式进行自动转换) 数组 可以将多个同名参数,转换到数组中 总结:在使用Struts2时,基本上不用写任... 阅读全文
posted @ 2016-09-19 19:56 runningto 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 十一、Struts2封装请求参数的方式 方式一、Action 本身作为model对象,通过成员setter封装(一个名字为params的拦截器干的) 注意:表单中的名称要和动作类中的名称一致(这是必须的) 表单代码: ---------------封装请求参数到Action中----------- 用户名:... 阅读全文
posted @ 2016-09-19 19:55 runningto 阅读(940) 评论(0) 推荐(0) 编辑
摘要: 十、Struts2结果集 1、Struts.xml配置文件 result元素:指定动作类的动作方法执行完后的结果视图. 属性: name:字符串,与动作方法返回的值一致。默认是success type:指定处理结果的结果类型的别名。(s... 阅读全文
posted @ 2016-09-19 19:45 runningto 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 九、在动作类中访问ServletAPI 1、方式一:(简单,推荐使用)ServletActionContext public String execute() throws Exception { //获取Servlet的相关对象引用,HttpServletRequest HttpSession HttpServletResponse ServletContex... 阅读全文
posted @ 2016-09-19 19:42 runningto 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 动作类中动作方法的调用 可以使用通配符 ... 阅读全文
posted @ 2016-09-19 19:38 runningto 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 七、Action动作类(一般用**Action结尾) 1、编写动作类的三种方式 动作类不实现、也不继承任何的接口和类。即动作类是一个非常普通的JavaBean。 public class HelloAction1{ } b、动作类实现com.opensymphony.xwork2.Action接口。可以使用常量 Action接口: public s... 阅读全文
posted @ 2016-09-19 19:36 runningto 阅读(183) 评论(0) 推荐(0) 编辑