- 浏览: 26732 次
- 性别:
- 来自: 潍坊
文章分类
最新评论
-
赤木晴子:
垃圾 没有jar包
struts2 velocity -
duronshi:
弱弱问下,如果我不用struts的标签<s:form而用 ...
struts2 基本校验 -
java_vm:
hyx0914 写道呵呵,这样写的话为什么不在前台页面就验证了 ...
struts2 基本校验 -
hyx0914:
呵呵,这样写的话为什么不在前台页面就验证了呢?
struts2 基本校验 -
chrislee1982:
还用这种方式验证?难道不知道可以使用xml配置或者annota ...
struts2 基本校验
在Web项目开发中由于很多数据在页面上显示时候都是以字符串类型来显示。而在控制层或者model层中开发人员使用Java开发时候,对于这些从页面上传入或者需要传到页面上显示的数据开发的类型不一定都是字符串类型。因此常常需要在视图和非视图之间进行类型转换
Struts2本身所具有的类型转换功能。大致分为以下: l int、boolean、double等Java基本类型转换。 l Date类型转换。 l List类型转换。 l Set类型转换。 l 数组类型转换 基本数据类型转换功能 在页面上输入一个Material对象的所有属性值,并将它的属性值显示在页面上。由于之前很多示例中已经有过Material这个JavaBean对象代码。这里就没有写出给读者参阅。由以显示的示例代码也可知,Material对象由材料名、价格、库存量和材料过期日期四个属性组成。恰好这四个属性的数据类型分别是String、double、int、date四个Java类型,因此由该示例可以明白Struts2的类型转换是如何转换这些Java类型。由于Struts2也是使用拦截器来进行类型转换,因此对这些基本的Java类型转换根本不需要开发人员编写任何类型转换代码 在输入数据的页面,笔者使用OGNL和Struts2标签来建立一个数据输入的表单。使用的material对象在Action中已定义完成,并建立getter、setter方法。这样在JSP页面可以设置该对象。在页面中按“提交”按钮后,就相当于“setMaterial()”方法。在系统根据struts.xml配置文件执行Action之前,Struts2自带的类型转换拦截器就已经将Material对象中几个属性变量的类型由页面上输入时候的String类型转换为Material对象属性变量被定义的数据类型 在数据显示页面上显示数据时候,实际上做的事情是上述操作的一个逆向操作。Material对象中每个属性变量的数据类型又都转换为页面上需要显示的String类型 List集合类型数据类型转换功能 public class AddMaterialAction extends ActionSupport { private List<Material> materialList; public String execute() throws Exception { return SUCCESS; } public List<Material> getMaterialList() { return materialList; } public void setMaterialList(List<Material> materialList) { this.materialList = materialList; } }
该属性文件属于局部类型转换属性定义文件。文件名要以ActionName打头,然后以“--conversion.properties”结尾。这表示是对该Action中的List集合类型指定元素类型。而且该属性文件一定要和Action放在同一目录下。否则运行系统时候Struts2是不会知道该Action的List集合类型变量元素是何种类型对象 试设想有一种情况,多个Action都需要将某一变量的类型进行转换。此时可以像之前所述使用属性文件来定义被转换类型的变量。但是1个Action定义1个属性文件则太浪费时间。因此Struts2中还有个全局类型转换属性定义文件,这样所有需要类型转换的Action都可以调用该文件中定义的需要类型转换的变量。全局属性文件名字必须为“xwork-conversion.properties”。文件中定义的内容其实和局部属性文件中大同小异,只是这些被定义的变量可以在所有Action中进行类型转换。全局属性文件没必要和具体Action代码文件放在一起,只需要放在源代码根目录下即可。也就是说全局属性文件直接放在“src”文件夹下即可
Set集合类型数据类型转换功能
<!-- 材料数据显示 --> <table> <tr> <td>材料名</td> <td>价格</td> <td>库存量</td> <td>过期日期</td> </tr> <s:iterator value="materialSet" status="m"> <tr> <td><s:property value="material" ></s:property></td> <td><s:property value="bid" ></s:property></td> <td><s:property value="mount" ></s:property></td> <td><s:property value="expireDate" ></s:property></td> </tr> </s:iterator> </table>
像List集合类型示例一样笔者定义了一个Set集合类型变量materialSet。不过该变量必须显示定义它的类型。如代码中所示“new HashSet()”一样。这是必须的,否则Struts2不知道该变量是哪一种Set集合
属性文件中除了继续定义元素对象类型之外,还需要定义该集合类型变量的索引即代码中所示的“KeyProperty_materialSet=material”。其实定义索引的通用格式为“KeyProperty_SetName=属性”。也许有的读者很难理解,其实也不很难。首先在Action中定义的Set集合类型变量名要写在“KeyProperty_”之后。然后“=”后面写的是元素对象中开发者想指定为索引的属性。比如示例中元素对象是Material对象。该对象有几个属性,其中有个属性为“material”是代表Material对象的材料名字,就把它定义为索引。这里笔者的定义想表明的意思就是materialSet这个Set集合类型变量的索引是组成它的元素Material对象中的material属性。如果属性文件中写成“KeyProperty_materialSet=bid”则表明把Material对象中表示材料价格的bid属性作为materialSet的索引
在数据输入的JSP页面中,笔者使用了OGNL中的“makeNew”API。由它来建立materialSet中的material对象。然后依次输入material对象各个属性数据
- Struts2_14_type_conversion_.rar (9.4 KB)
- 下载次数: 54
- Struts2_15_type_conversion_list_.rar (10.1 KB)
- 下载次数: 60
- Struts2_16_type_conversion_set_.rar (10.3 KB)
- 下载次数: 73
发表评论
-
struts2 与 jfreechart的整合
2010-07-26 09:00 1390显示效果: 先引入相关的jar包: jcommon- ... -
struts2 以注解的形式实现拦截器
2010-07-26 08:48 833package com.example.struts.acti ... -
struts2 国际化(中英文切换 占位符)
2010-07-26 08:13 2098package com.example.struts.acti ... -
struts2 基本校验(配置文件形式)
2010-07-26 07:56 1211利用配置文件进行校验主要是增加了一些xml文件来对具体表单 ... -
struts2 基本校验
2010-07-26 07:26 994Struts2对输入校验这方面采用的最基本方 ... -
struts2 全局异常提示定义属性文件使用
2010-07-25 15:30 1185#类型转换提示 xwork.default.invalid. ... -
struts2 freemarker
2010-07-25 14:32 1785freemarker和velocity一样也是一种可以 ... -
struts2 velocity
2010-07-25 14:00 1868velocity翻译成中文就是“速度”的意思,它 ... -
struts2 表单标签的使用
2010-07-25 13:39 1266combobox标签 ... -
struts2 OGNL 表达式及各种标签的使用
2010-07-25 13:24 2066Struts2中将 ... -
struts2 文件的上传和下载
2010-07-25 12:54 2078在Web项目中导入支持文件上传下载和IO输入输出的两个 ... -
struts2 拦截器的使用(继承方法拦截器)
2010-07-24 16:02 1869import com.opensymphony.xwork2. ... -
struts2 拦截器的使用(继承抽象拦截器)
2010-07-24 15:51 1110import com.opensymphony.xwork2. ... -
struts2 type 常量
2010-07-24 15:43 857Type类型值 作用说明 对应类 ... -
struts2学习总结( 使用ActionSupport进行校验)
2010-07-24 15:29 1464= Action类中ActionSupport使用 ... -
Strut2 学习总结(1)基本配置
2010-07-24 11:05 867开发所必备的基本jar包: struts2- ...
相关推荐
关于struts2的类型转换的处理方法。
struts2类型转换和国际化 根据自己所做实例 详细介绍
struts2类型转换 http://d.download.csdn.net/down/504226/sunrain_gao
struts2 类型转换 数据校验
struts2类型转换机制
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
熟悉和掌握Struts2自定义类型转换。 熟悉和掌握Struts2内建校验的操作方法 实验环境与设备: 已经接入局域网的网络实验室,机器上装有IE浏览器等; strtus2.5.8 实验内容: (1) 编写一个...
这是一个关于struts2的类型转换 以及 拦截器 还有校验的例子
NULL 博文链接:https://azrael6619.iteye.com/blog/415106
自己用struts2写的一个简单的局部数据类型转换实例,适合初学者
NULL 博文链接:https://cdxs2.iteye.com/blog/1931878
服务器可以接收到的来自用户的数据只能是字符串或者是字符串数组,而在服务器上的对象中 ,这些数据往往有多种不同的类型,如日期(Date) 整数(int) 浮点数... 要实现 上述的转换 ,Struts2中 提供了 converter。
配合博文:http://blog.csdn.net/u011638419/article/details/41276445
可以详细了解struts2的流程,便于学习和研究struts2,大家可以交流学习。
Struts2处理类型转换错误,全局处理,如处理时间转换错误
软件硕士张龙老师,对Struts2类型转换器的说明源代码,以及批量插入数据的源代码,不改动任何代码的情况下进行类型转换。
这是一个struts2的类型转换器的案例,主要是写的如果将一个20110202这种类型的日期格式进行转换!
使用struts2提供的转化器,实现Date类型的数据转换
适合struts2入门使用,主要是struts拦截到的数据类型转换的问题