随笔分类 - Java-Struts2
摘要:Struts2拦截器 Struts2拦截器 Interceptor接口 Interceptor接口 每个拦截器都必须实现com.opensymphony.xwork2.interceptor.Interceptor接口 用法示例: 用法示例: 定义一个PermissionInterceptor拦截器
阅读全文
摘要:什么是表单重复提交 什么是表单重复提交 表单重复提交包括以下几种情况: 前提:不刷新表单页面 1、多次点击“提交”按钮后,重复提交了多次; 2、已经提交成功之后,按“回退”按钮之后,在点击“提交”按钮后,提交成功; 3、在控制页面响应的形式为“转发”的情况下,若已经提交成功,然后点击“刷新(F5)”
阅读全文
摘要:表单的准备 表单的准备 想要使用html表单上传一个或多个文件 1、须把html表单的enctype属性设置为multipart/form-data 2、须把html表单的method属性设置为post 3、须添加<input type="file">字段 Struts2的进行单文件上传需要操作步骤
阅读全文
摘要:编程验证 编程验证 Struts2提供了一个Validateable接口,可以使用Action类实现这个接口以提供编程验证; ActionSupport类已经实现了Validateable接口。 如何定义验证器? 如何定义验证器? 1)自定义验证器必须实现Validator接口; 2)Validat
阅读全文
摘要:短路验证: 短路验证: 若对一个字段使用多个验证器,默认情况下会执行所有的验证。若希望前面的验证器没有通过,后面的验证器就不再执行,可以使用短路验证。 1、如下拦截器,如果输入字符串,提交表单后,默认是会出现三个错误:字段转换失败、conversion验证失败、取值范围失败。 2、如果使用短路验证,
阅读全文
摘要:Struts2工程中的验证分为两种: Struts2工程中的验证分为两种: 1、基于XWork Validation Framework的声明式验证:Struts2提供了一些基于XWork Validation Framework的内建验证程序.使用这些验证不需要编程,只需要在一个xml文件里对验证
阅读全文
摘要:如何配置国际化资源文件? 如何配置国际化资源文件? 1、Action范围资源文件:在Action类文件所在的路径建立名为ActionName_language_country.properties的文件; 2、包范围资源文件:在包的根路径下建立文件名为package_language_country
阅读全文
摘要:背景: 本章节主要以复杂属性、集合属性类型转化为例,来学习这两种情况下怎么使用。 复杂对象属性转换场景: 1、新建struts_04 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4"
阅读全文
摘要:如何自定义类型转换器: 1)为什么需要自定义类型转化器?strtuts2不能自动完成字符串到所有的类型; 2) 如何定义类型转化器? 步骤一:创建自定义类型转化器的类,并继承org.apache.struts2.util..StrutsTypeConverter类; 步骤二:配置类型转化器(包含两种
阅读全文
摘要:类型转换概念 1、从html表单页面到一个Action对象,类型转化是从字符串到一个非字符串:html并没有“类型”的概念,每个表单输入的信息都只可能是一个字符串或者一个字符串数组,但是在服务器端,必须把String字符串转化为一种特定的数据类型; 2、在Struts2中,把请求参数映射到Actio
阅读全文
摘要:PrepareInterceptor拦截器的用法: 1、若Action实现了Preparable接口,则Action方法需实现prepare()方法; 2、PrepareInterceptor拦截器Struts将调用prepare()方法; 3、PrepareInteceptor拦截器根据first
阅读全文
摘要:背景: 通过上一章节《Struts(十六):通过CURD来学习Struts流程及ModelDriven的用法》学习了ModelDriven拦截器的用法,上章节中讲到了edit功能。 要修改一个member信息时: 1、首先通过url传入一个id参数:member-list.jsp中 2、Member
阅读全文
摘要:背景: 从一个Member的增删改查,来了解Struts2的运行原理及学习ModelDriven拦截器、Preparable拦截器。 新建项目实现列表的展示及删除功能: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebAp
阅读全文
摘要:Theme主题是配置的struts-core.jar下的com.apache.struts2包下的default.properties中(默认配置为:xhtml) theme主题一共包含几个可选项: struts2中theme属性包括xhtml,html,simple,ajax,默认是xhtml.t
阅读全文
摘要:form标签是struts2标签中一个重要标签: 为什么form标签可以实现填充form表单? 示例:写一个这样的form页面,提交form页面后跳转到自身页面 form-tags.jsp页面: struts.xml FormTagsAction页面: 在浏览器中输入http://localhost
阅读全文
摘要:Struts标签简介: Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性,实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。Struts2的标签库有一个巨大的改进之处,
阅读全文
摘要:配置当前action的声明异常处理 1、exception-mapping元素中有2个属性 exception:指定需要捕获的异常类型 result:指定一个响应结果,该结果将在捕获到异常时被执行。即可以来自当前action的声明,也可以来自global-results声明。 2、可以在视图上通过<
阅读全文
摘要:Map栈 :request,session,application的一个属性值或一个请求参数的值。 若想访问ContextMap里的某个对象的属性,可以使用以下几种之一: #object.propertyName #object['propertyName'] #object["propertyNa
阅读全文
摘要:Struts2 用s:porperty标签和OGNL表达式来读取值栈中的属性值: I、值栈中的属性值: 1、对象栈:读取对象栈中的某一个对象的属性值; 2、Map栈 :request,session,application的一个属性值或一个请求参数的值。 II、读取对象栈(ObjectStack)中
阅读全文
摘要:引言 在我们开发过程中,往往会使用一个对像传递到一个具体的action中,之后到跳转页面中访问对应对象的具体的参数。 比如:我们搭建一个struts2项目: 回顾下如何搭建strut2: 1、下载的struts2开发包(struts-2.3.31-all.zip); 2、解压struts-2.3.3
阅读全文