struts (二)】的更多相关文章

如何自定义类型转换器: 1)为什么需要自定义类型转化器?strtuts2不能自动完成字符串到所有的类型: 2) 如何定义类型转化器? 步骤一:创建自定义类型转化器的类,并继承org.apache.struts2.util..StrutsTypeConverter类: 步骤二:配置类型转化器(包含两种方式:基于字段的配置.基于类型的配置) 官网有类型转化器的写用法向导:http://struts.apache.org/docs/type-conversion.html 备注:从官网向导中我们知道s…
struts中参数传值的方式有 种: 第一种:直接通过属性来传值 第二种: 第三种:…
1.运行流程 client --->tomcat  ---> webapp  -->web.xml --->filter -->struts.xml ---->namespace ---> acion-->result --.>反馈client 把请求和展现分开 可扩展  灵活   --->设计模式MVC 2.配置 package 包区分不同模块同名的action namespace  区分不同的模块 当namespace=""…
Struts2拦截器 拦截器(Interceptor)是Struts2的核心部分. Struts2很多功能都是构建在拦截器基础之上,比如:文件上传.国际化.数据类型转化.数据校验等. Struts2拦截器是在访问某个Action方法之前和之后实施拦截的. Struts2拦截器是可插拔的,拦截器是AOP(面向切面编程)的一种实现. 拦截器栈(Interceptor Stack):将拦截器按一定的顺序联合在一条链,在访问被拦截的方法时,Struts2拦截器栈中的拦截器就会按照之前定义的顺序被调用.…
什么是表单重复提交 表单重复提交包括以下几种情况: 前提:不刷新表单页面 1.多次点击“提交”按钮后,重复提交了多次: 2.已经提交成功之后,按“回退”按钮之后,在点击“提交”按钮后,提交成功: 3.在控制页面响应的形式为“转发”的情况下,若已经提交成功,然后点击“刷新(F5)”按钮后,再次提交成功. 哪些操作不属于重复提交操作? 1.若刷新了表单页面,再提交表单不算重复提交: 2.若使用的是redirect的响应类型,已经提交成功后,在点击“刷新(F5)”按钮,不是表单的重复提交操作. str…
表单的准备 想要使用html表单上传一个或多个文件 1.须把html表单的enctype属性设置为multipart/form-data 2.须把html表单的method属性设置为post 3.须添加<input type="file">字段 Struts2的进行单文件上传需要操作步骤: 1.需要引入struts2需要的包,struts2上传是需要使用fileUpload拦截器实现的,而实际上上传文件是使用Commons FileUpload组建,所以需要导入common…
编程验证 Struts2提供了一个Validateable接口,可以使用Action类实现这个接口以提供编程验证: ActionSupport类已经实现了Validateable接口. public class MyAction extends ActionSupport{ private String age; public void setAge(String age) { this.age = age; } public String getAge() { return age; } @O…
短路验证: 若对一个字段使用多个验证器,默认情况下会执行所有的验证.若希望前面的验证器没有通过,后面的验证器就不再执行,可以使用短路验证. 1.如下拦截器,如果输入字符串,提交表单后,默认是会出现三个错误:字段转换失败.conversion验证失败.取值范围失败. <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds…
Struts2工程中的验证分为两种: 1.基于XWork Validation Framework的声明式验证:Struts2提供了一些基于XWork Validation Framework的内建验证程序.使用这些验证不需要编程,只需要在一个xml文件里对验证程序应该如何工作作出声明就可以了,需要声明的内容包括: 针对哪个Action或者Model的某个或某些字段验证: 使用什么验证规则: 如果验证失败,转向哪个页面,显示什么错误信息. 2.编程式验证:通过编写代码实现验证用户输入信息. 声明…
如何配置国际化资源文件? 1.Action范围资源文件:在Action类文件所在的路径建立名为ActionName_language_country.properties的文件: 2.包范围资源文件:在包的根路径下建立文件名为package_language_country.properties的属性文件,一旦建立,处于该包下的所有Action都可以访问该资源文件. 注意:包范围资源文件的baseName就是package,不是Action所在的包名. 3.全局资源文件: 3.1.命名方式:ba…