此处 我们通过简单的例子实现对action下的某个属性字段进行类型转换
1)输入界面
<form action="userAction.action" method="post">
<input type="text" name="birthday" value=""><br>
<input type="submit" value="提交">
</form>
2)测试action ----UserAction 仅仅有个类型为Date的birthday属性
public class UserAction extends ActionSupport{
private Date birthday;
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
3)struts.xml配置文件 配置action
<action name="userAction" class="com.etc.sky.action.UserAction">
<result>/show.jsp</result>
</action>
4)自定义类型转换器类 实现 将表单输入的字符串转化为Date类型/获取birthday值的时候 将其转换为string便于页面显示
public class DateConverstor extends StrutsTypeConverter {
/**
* arg1为表单传入的参数 arg2为arg1需要转换的目标对象类型此处也即为java.util.date
* 该方法执行在action为属性注入值之前 即set方法之前
* */
@Override
public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
System.out.println(arg1[0]);
if(arg2==Date.class){
String birth=arg1[0];
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
try {
Date date=sdf.parse(birth);
System.out.println("convertFromString"+date);
return date;
} catch (ParseException e) {
e.printStackTrace();
}
}
return null;
}
/**
* arg1为需要进行转换的对象 此处即为date
* 该方法执行在获取action属性值后 即get方法之后
* */
@Override
public String convertToString(Map arg0, Object arg1) {
if(arg1 instanceof Date){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
Date date=(Date) arg1;
String strDate=sdf.format(date);
System.out.println("convertToString"+strDate);
return strDate;
}
return null;
}
}
5)局部类型转换资源文件配置
命名规则为:要进行类型转换的action名-conversion.properties
内容为:action下要进行类型转换的属性=类型转换器类的全称(包名+类名)
birthday=com.etc.sky.converstor.DateConverstor
6)显示页面 注意 为了能够正常显示 转换后的信息 必须采用struts标签来读取信息
<s:property value="birthday"/>
测试 OK.......
分享到:
相关推荐
测试源代码 博文链接:https://gyj129129.iteye.com/blog/225216
第1章 Struts 2概述,第2章 Struts 2下的HelloWorld,第3章 Struts 2基础,第4章 深入Struts 2,第5章 Struts 2的类型转换,第6章 文件的上传和下载.,第7章 Struts 2的拦截器,第8章 Struts 2的输入校验,9.2 ...
Struts2中的Action都是POJO,这一方面增强了Action本身的可测试性,另一方面也减小了框架内部的耦合度,而HTML表单中的输入项都被转换成了恰当的类型以供action使用。开发人员还可以通过拦截器(可以自定义拦截器...
2. 深入 STRUTS架构..................................................................................37 2.1. 随便谈谈......................................................................................
2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...
Struts is a set of cooperating classes, servlets, and JSP tags that make up a reusable MVC 2 design. This definition implies that Struts is a framework, rather than a library, but Struts also contains...
16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将数据提交给进行处理的类叫Model模型层,专门进行数据处理和数据库的连接。 heap和stack有什么区别? 答:...
为了访问数据模型中名为struts2的书的作者的名字,可以使用如下语法: book.author.name //全部使用点语法 book["author"].name book.author["name"] //混合使用点语法和方括号语法 book["author"]["name"] //全部使用...
16.2协同使用spring和webwork2/struts2 16.3集成spring和tapestry 16.3.1集成spring和tapestry3 16.3.2集成spring和tapestry4 16.4协同使用spring和jsf 16.4.1解析jsf管理的属性 16.4.2解析springbean 16.4.3...
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...
三、数据库设计人员设计数据库结构,建议对所有表和列增加注释(对注释的利用是本工具的亮点之一,使用本工具可以方便的增加注释)。 四、使用本工具生成代码,程序员复制的是文件,或是整个java包,而不是一行...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
53、数据类型之间的转换: 14 54、字符串操作:如何实现字符串的反转及替换? 14 55、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串? 14 56、写一个函数,要求输入一个字符串和一个字符长度,...
53、数据类型之间的转换: 14 54、字符串操作:如何实现字符串的反转及替换? 14 55、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串? 14 56、写一个函数,要求输入一个字符串和一个字符长度,...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...