随笔分类 -  Struts2

摘要:令牌提交 默认栈里面没有,手动添加 1 <!-- 配置默认执行的拦截器栈,增加令牌拦截器 --> 2 <interceptors> 3 <interceptor-stack name="tokenStack"> 4 <interceptor-ref name="defaultStack" /> 5 <interceptor-ref name="token" > 6 <!-- 配置令牌拦截器,拦截的方法名,如果配置多个方法时,用","隔开 --> 阅读全文
posted @ 2013-05-22 19:16 hacket520 阅读(597) 评论(0) 推荐(0) 编辑
摘要:把动作和模型隔开 在使用 Struts 作为前端的企业级应用程序时把动作和模型清晰地隔离开是有必要的: 有些动作类不代表任何模型对象, 它们的功能仅限于提供图文显示服务ModelDriven 拦截器情景: 有一个用来处理客户的 CustomerAction 类, 该动作类实现了 ModelDriven 接口.当用户触发CustomerAction 动作时, ModelDriven 拦截器将调用相关CustomerAction 对象的 getModel() 方法, 并把返回的模型(Customer实例)压入到 ValueStack 栈. 接下来 Parameters 拦截器将把表单字段映射到 . 阅读全文
posted @ 2013-05-22 18:57 hacket520 阅读(385) 评论(0) 推荐(0) 编辑
摘要:1、property标签<s:property value=“#name" default="a default value" /> * default:可选属性, 如果需要输出的属性值为null,则显示该属性指定的值 * escape:可选属性,指定是否格式化HTML代码。 escape=“false”时,hr作为html标签使用 * value: 可选属性,指定需要输出的属性值,如果没有指定该属性,则默认输出ValueStack栈顶的值。1 <s:property value="#request.username"/> 阅读全文
posted @ 2013-05-22 18:03 hacket520 阅读(269) 评论(0) 推荐(0) 编辑
摘要:1、配置验证的xml文件-全局的验证所有的方法 a)验证的xml文件的规范在xwork-core-2.3.1.1.jar包下的:xwork-validator-1.0.3.dtd1 <!DOCTYPE validators PUBLIC2 "-//Apache Struts//XWork Validator 1.0.3//EN"3 "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> b)验证文件的命名a) 该文件需要和action类放在同一个包下,文件的取名应遵守ActionC 阅读全文
posted @ 2013-05-20 20:20 hacket520 阅读(409) 评论(0) 推荐(0) 编辑
摘要:1 <%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%> 2 <%@page import="java.util.List"%> 3 <%@page import="java.util.ArrayList"%> 4 <%@ taglib uri="/struts-tags" prefix="s"% 阅读全文
posted @ 2013-05-20 19:28 hacket520 阅读(223) 评论(0) 推荐(0) 编辑
摘要:Struts2 拦截器 Struts2 拦截器在访问某个 Action 方法之前或之后实施拦截,Struts2 拦截器是可插拔的,拦截器是 AOP(spring会讲到,现在不理会) 的一种实现. 拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在访问被拦截的方法时,Struts2拦截器链中的拦截器就会按其之前定义的顺序被依次调用.Interceptor 接口 每个拦截器都是实现了com.opensymphony.xwork2.interceptor.Interceptor接口的 Java 类:1 public interface Intercepto... 阅读全文
posted @ 2013-05-17 19:00 hacket520 阅读(383) 评论(0) 推荐(0) 编辑
摘要:File Upload 拦截器 FileUpload 拦截器负责处理文件的上传操作, 它是默认的 defaultStack 拦截器栈的一员. FileUpload 拦截器有 3 个属性可以设置.•maximumSize: 上传文件的最大长度(以字节为单位), 默认值为 2 MB•allowedTypes: 允许上传文件的类型, 各类型之间以逗号分隔•allowedExtensions: 允许上传文件扩展名, 各扩展名之间以逗号分隔 可以在 struts.xml 文件中覆盖这 3 个属性: 1 <interceptor-ref name="defaultStack"&g 阅读全文
posted @ 2013-05-17 17:07 hacket520 阅读(417) 评论(0) 推荐(0) 编辑
摘要:struts2校验有两种实现方法: 1. 手工编写代码实现(基本验证) 2. 基于XML配置方式实现(验证框架)基本验证(对action的所有方法进行校验) Action中* 要继承ActionSupport* 重写Validateable接口中的validate()方法 ,在该方法中完成验证* 步骤如下: * validate()方法在其他的业务方法之前执行 * 验证出错转向的页面 struts.xml配置<result name="input">/validate/login.jsp</result> 其中input转向是在action中已经定义 阅读全文
posted @ 2013-05-17 12:10 hacket520 阅读(304) 评论(0) 推荐(0) 编辑
摘要:应用程序国际化 资源文件和资源包 要用Struts实现国际化和本地化,首先要定义资源文件的名称,这个文件会包含用默认语言编写的会在程序中出现的所有消息。这些消息以”键-值“对的形式存储,如下: error.validation.localtion = The enteredlocation is invalid 当对一个应用程序进行国际化处理时,所要用的各种语言版本的”标签“信息应该存放在不同的属性文件中,每一个这样的文件对应一种语言版本。所有属性文件合在一起称为资源包(Resource Bundle)。 属性文件的命名格式可分为以下两种: a)文件名前缀.propertie... 阅读全文
posted @ 2013-05-16 21:21 hacket520 阅读(231) 评论(0) 推荐(0) 编辑
摘要:与Servlet API解耦的访问方式 为了避免与 Servlet API 耦合在一起, 方便 Action 做单元测试, Struts2 对 HttpServletRequest, HttpSession 和 ServletContext 进行了封装, 构造了 3 个 Map 对象来替代这 3 个对象, 在 Action 中可以直接使用 HttpServletRequest, HttpSession, ServletContext 对应的 Map 对象来保存和读取数据.访问request/session/application对象 方法一:通过ServletActionContext类直.. 阅读全文
posted @ 2013-05-16 20:11 hacket520 阅读(290) 评论(0) 推荐(0) 编辑
摘要:概述从一个 HTML 表单到一个 Action 对象, 类型转换是从字符串到非字符串. •HTTP 没有 “类型” 的概念. 每一项表单输入只可能是一个字符串或一个字符串数组. 在服务器端, 必须把 String 转换为特定的数据类型在 struts2 中, 把请求参数映射到 action 属性的工作由 Parameters 拦截器负责, 它是默认的 defaultStack 拦截器中的一员. Parameters 拦截器可以自动完成字符串和基本数据类型之间转换.接收请求参数 a)利用之前学过的知识,接收请求参数 1 HttpServletRequest req = ServletAct... 阅读全文
posted @ 2013-05-16 19:13 hacket520 阅读(674) 评论(0) 推荐(0) 编辑
摘要:文件上传概述 要想使用 HTML 表单上传一个或多个文件, 必须把 HTML 表单的 enctype 属性设置为 multipart/form-data, 把它的 method 属性设置为 post 为了让用户能够选择一个文件进行上传, 程序员必须提供一个 <input type=“file”> 字段.Struts 对文件上传的支持 在 Struts 应用程序里, FileUpload 拦截器和 Jakarta Commons FileUpload 组件可以完成文件的上传. 步骤: •1. 在 Jsp 页面的文件上传表单里使用 file 标签. 如果需要一次上传多个文件, 就必须. 阅读全文
posted @ 2013-05-16 17:18 hacket520 阅读(230) 评论(0) 推荐(0) 编辑
摘要:Struts2究竟能做什么呢 Struts2框架的完整工作流程 搭建Struts2开发环境的步骤1.创建javaweb工程2.找到开发Struts2应用需要使用到的jar文件3.创建jsp文件4.创建action文件5.编写Struts2的配置文件6.在web.xml中加入Struts2 MVC框架启动配置 2 、开发Struts2需要的jar文件 到http://struts.apache.org/download.cgi#struts2314下载struts-2.x.x-all.zip,目前最新版为2.3.14。下载完后解压文件,开发struts2应用需要依赖的jar文... 阅读全文
posted @ 2013-05-15 16:58 hacket520 阅读(460) 评论(0) 推荐(0) 编辑
摘要:通配符举例--BookAction 1 public class BookAction extends ActionSupport { 2 3 public String execute() throws Exception { 4 System.out.println("BookAction ********** execute()"); 5 return null; 6 } 7 /* 8 * 显示图书添加页面 9 */10 public String add(){11 System.out... 阅读全文
posted @ 2013-05-15 00:43 hacket520 阅读(226) 评论(0) 推荐(0) 编辑
摘要:struts2 --通配符和动态方法调用1、jsp test.jsp 1 <%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%> 2 <%@ taglib uri="/struts-tags" prefix="s"%> 3 <html> 4 <head> 5 <title>My JSP 'index.jsp 阅读全文
posted @ 2013-05-15 00:17 hacket520 阅读(387) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示