摘要: 二十六: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 阅读(187) 评论(0) 推荐(0)
摘要: 二十五、防止表单重复提交 防止表单重复提交: 有两种方式: 利用重定向 使用拦截器 编写jsp页面 配置拦截器 ... 阅读全文
posted @ 2016-09-19 21:18 runningto 阅读(277) 评论(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 阅读(178) 评论(0) 推荐(0)
摘要: 二十三、常用的标签:见源码 --> 登录名: ... 阅读全文
posted @ 2016-09-19 20:33 runningto 阅读(179) 评论(0) 推荐(0)
摘要: 二十二、OGNL的一些其他操作 投影 ?判断满足条件 动作类代码: ^ $ public class Demo2Action extends ActionSupport { public Demo2Action() { Syst... 阅读全文
posted @ 2016-09-19 20:25 runningto 阅读(278) 评论(0) 推荐(0)
摘要: 二十一、contextMap中放的常用数据 request:请求范围的数据。即ServletRequest中的那个Map parameters:请求参数的数据。即request.getParameterMap得到 application:应用范围的数据。即ServletContext中的那个Map session:会话范围的数据。即HttpSession中的那个Map attr:也是一个Map。会... 阅读全文
posted @ 2016-09-19 20:23 runningto 阅读(244) 评论(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 阅读(597) 评论(0) 推荐(0)
摘要: 利用OGNL获取ValueStack中:根栈和contextMap中的数据 原则:OGNL表达式如果以#开头,访问的contextMap中的数据 如果不以#开头,是访问的根栈中的对象的属性(List集合) 1、在动作类中 public String execute() { // 操作ValueStack // 从当前线程中获取A... 阅读全文
posted @ 2016-09-19 20:18 runningto 阅读(839) 评论(0) 推荐(0)
摘要: ValueStack&ActionContext(非常重点:值栈) 1、针对用户的每次动作访问,都会创建属于自己的ValueStack对象 2、ValueStack中的的常用方法:功能一定要知道干什么的。实现类OgnlValueStack getContext():返回的是一个Map *getRoot():返回的是一个CompoundRoot。 CompoundRoot... 阅读全文
posted @ 2016-09-19 20:10 runningto 阅读(703) 评论(0) 推荐(0)
摘要: 十七、OGNL OGNL简介: OGNL是对象导航图语言。它是一个独立的项目。早期的webwork框架用到了OGNL作为自己的表达式语言, 所以struts2也是用OGNL作为表达式语言,当然也可以使用EL作为表达式语言。 几大特点 在struts2使用OGNL的前提:要使用struts2的标签。 支持对象方法调用 支持类静态的方法调用和值访问 支持赋值操作和表达式串联 访问OGNL上下文(OGN... 阅读全文
posted @ 2016-09-19 20:08 runningto 阅读(218) 评论(0) 推荐(0)
摘要: 文件上传与下载 1.文件上传前提: 2.动作类中字段需要符合命名规范 表单字段名:image 动作类:File image; String imageFileName; 文件名 String imageContentType;文件的MIME类型 3.上传拦截器参数的配置 文件大小、文件类型限制等 错误... 阅读全文
posted @ 2016-09-19 20:06 runningto 阅读(155) 评论(0) 推荐(0)
摘要: 十五、struts2中的拦截器(框架功能核心) 1、过滤器VS拦截器 功能是一回事。 过滤器是Servlet规范中的技术,可以对请求和响应进行过滤。 拦截器是Struts2框架中的技术,实现AOP(面向切面)的编程思想,可以对请求动作进行拦截。 2、自定义拦截器 步骤: 编写一个类,直接或间接实现Interceptor接口。(拦截器会驻留内存),一般都选择继承AbstractIntercept... 阅读全文
posted @ 2016-09-19 20:05 runningto 阅读(611) 评论(0) 推荐(0)
摘要: 十四、Struts2的国际化 1、配置全局国际化消息资源包 配置全局消息资源包 b、如何访问 在动作类中: 前提,动作类继承ActionSupport public class Demo1Action extends ActionSupport{ @Overrid... 阅读全文
posted @ 2016-09-19 20:04 runningto 阅读(174) 评论(0) 推荐(0)
摘要: 十三、用户输入数据的校验 1、校验方式: a:客户端校验。(防君子不防小人)在页面中写js脚本。 输入错误的话提醒比较及时; 减轻服务器的压力 b、服务器端校验。 数据安全 开发中:a+b 2、服务器端校验: 编程式校验:自己编写一个校验代码(缺点:验证规则都写在了代码中) 前提:动作类继承ActionSupport。 1、针对动作类中的所有动作进... 阅读全文
posted @ 2016-09-19 19:58 runningto 阅读(978) 评论(0) 推荐(0)
摘要: 十二、类型转换: 1、用户界面传来的数据都是String:String---->其他类型 显示或者是数据回显:其他类型----->String 基本类型自动转换。 java.util.DateString(中国:Struts2默认按照yyyy-MM-dd本地格式进行自动转换) 数组 可以将多个同名参数,转换到数组中 总结:在使用Struts2时,基本上不用写任... 阅读全文
posted @ 2016-09-19 19:56 runningto 阅读(321) 评论(0) 推荐(0)
摘要: 十一、Struts2封装请求参数的方式 方式一、Action 本身作为model对象,通过成员setter封装(一个名字为params的拦截器干的) 注意:表单中的名称要和动作类中的名称一致(这是必须的) 表单代码: ---------------封装请求参数到Action中----------- 用户名:... 阅读全文
posted @ 2016-09-19 19:55 runningto 阅读(950) 评论(0) 推荐(0)
摘要: 十、Struts2结果集 1、Struts.xml配置文件 result元素:指定动作类的动作方法执行完后的结果视图. 属性: name:字符串,与动作方法返回的值一致。默认是success type:指定处理结果的结果类型的别名。(s... 阅读全文
posted @ 2016-09-19 19:45 runningto 阅读(245) 评论(0) 推荐(0)
摘要: 九、在动作类中访问ServletAPI 1、方式一:(简单,推荐使用)ServletActionContext public String execute() throws Exception { //获取Servlet的相关对象引用,HttpServletRequest HttpSession HttpServletResponse ServletContex... 阅读全文
posted @ 2016-09-19 19:42 runningto 阅读(281) 评论(0) 推荐(0)
摘要: 动作类中动作方法的调用 可以使用通配符 ... 阅读全文
posted @ 2016-09-19 19:38 runningto 阅读(292) 评论(0) 推荐(0)
摘要: 七、Action动作类(一般用**Action结尾) 1、编写动作类的三种方式 动作类不实现、也不继承任何的接口和类。即动作类是一个非常普通的JavaBean。 public class HelloAction1{ } b、动作类实现com.opensymphony.xwork2.Action接口。可以使用常量 Action接口: public s... 阅读全文
posted @ 2016-09-19 19:36 runningto 阅读(197) 评论(0) 推荐(0)
摘要: 六、Struts2的配置文件 1、default.properties:在struts2-core-**.jar的org.apache.struts包中 关于Struts2一些常量配置(框架内部) struts-default.xml:在struts2-core-**.jar中。(框架内部) 定义了一些bean; 定义了一个抽象的包:struts-default 定义了一些结果视图 定义了一些... 阅读全文
posted @ 2016-09-19 19:33 runningto 阅读(268) 评论(0) 推荐(0)
摘要: 五、Eclipse编写struts.xml没有提示的问题 原因:找不到约束文件 解决: 联网 手工配 a、eclipse的菜单:window\preferences 阅读全文
posted @ 2016-09-19 19:32 runningto 阅读(191) 评论(0) 推荐(0)
摘要: 执行过程和原理(可能面试题) 学习目标:熟知struts2的执行过程(下图记住)。源码可以不看 a、过滤器的初始化 1、StrutsPrepareAndExecuteFilter是一个过滤器,过滤器就有初始化方法 关键代码:57:dispatcher = init.initDispatcher(config);//初始化请求分发器。 2、InitOperations... 阅读全文
posted @ 2016-09-19 19:31 runningto 阅读(383) 评论(0) 推荐(0)
摘要: 第一个Struts2应用案例(编码步骤) 编写2个jsp hello.jsp 访问第一个Struts2案例 success.jsp Struts2访问成功! 编写一个动作类(POJO,之前所谓的按照JavaBean规范编写的一个普通的类) package com.notbug.actio... 阅读全文
posted @ 2016-09-19 19:29 runningto 阅读(272) 评论(0) 推荐(0)
摘要: 二、搭建struts2的开发环境 下载地址:http://struts.apache.org 解压后的目录结构: apps:框架本身提供一些案例(学习) docs:框架本身提供的文档(指南和API)。不保证100%正确 lib:框架需要的jar包及第三方的jar包(不要全拷贝) src:源码 搭建步骤: 新建一个JavaWeb工程 拷贝struts2运行所需的必要jar包。(方便办法:st... 阅读全文
posted @ 2016-09-19 19:28 runningto 阅读(244) 评论(0) 推荐(0)
摘要: 一、Struts2概述 是什么? Struts2是一个M(模型---域--范围模型)V(View视图)C(控制器)框架(模型2)。框架都是一个半成品。提高开发效率。 Struts1是一个MVC框架,非常流行。有很大的缺点。此时一个webwork的框架设计超前,名气不是很大。Struts1+webworkd=struts2。用的是struts1的名字,但是与sruts1没啥关系,struts2的核心... 阅读全文
posted @ 2016-09-19 19:25 runningto 阅读(209) 评论(0) 推荐(0)