一、前言笔者一直觉得,学习一个知识点,你首先要明白,这东西是什么?有什么用?这样你才能了解。好了,不说废话。1.1、类型转换为何存在?什么是类型转换?在MVC框架中,都是属于表示层解决方案,都需要负责收集用户请求的参数,并且将请求参数传给应用的控制器组件,但是,这里有一个问题,客 ...
一、前言
笔者一直觉得,学习一个知识点,你首先要明白,这东西是什么?有什么用?这样你才能了解。好了,不说废话。
1.1、类型转换为何存在?什么是类型转换?
在MVC框架中,都是属于表示层解决方案,都需要负责收集用户请求的参数,并且将请求参数传给应用的控制器组件,但是,这里有一个问题,客户端提交的请求参数都是字符串数据类型,而java这门语言本身就是强类型语言,所以我们需要类型转换,就是把字符串类型转化为你所需要的类型。
在MVC框架中,表示层数据处理分为两个方法:客户端输入数据,服务端输出数据;客户端输入数据需要进行类型转换才能确保我们的数据类型是正确的,服务端输出数据无需经过类型转换。
简单说就是:
在javaweb中,当你在jsp页面提交一个username到servlet中,你是否在通过request.getParameter("username")去获取数据;但是
如果是一个Date时间类型呢?你是否要先指定时间的转换格式,然后再根据request.getParameter("date");获取数据之后再去转换呢?但是,你想过没有?如果是多个页面请求数据的话,那你每次打getParameter();这个方法,累吗?你不累,程序都累了。所以,Struts2 为我们提供了一种类型转换器,只需要编写固定的操作就能得到你想要的数据,简单说来,就是把表单的数据赋值给实体类。
1.2、类型转换器简单介绍
1.2.1、类型转换器需要继承DefaultTypeConverter类,需要重写该类的convertType方法。
convertType方法的作用:
1、负责对类型的转换,不过这种转换是双向的,我们可以通过判断数据的类型判断转换的方向
2、该方法有三个参数:
context:是类型转换环境的上下文
value: 是需要转换的参数(随转换方向不同,如果字符串向实例转换时,它是字符串数组;如果实例字符串转换时,它是实例)
toType: 是转换后的目标参数
二、类型转换器
2.1、类型转换器有两种:局部类型转换器和全局类型转换器,就字面上的意思一样,全局和局部的。
关于类型转换器的注册方式有三种:
1、局部类型转换器仅仅对某个Action起作用
2、全局类型转换器对所有Action特定类型的属性都会起作用
3、我们可以通过注解的方式来生成类型转换器(JDK1.5以上的注解)
2.2、局部类型转换器:
新建实体类userbean:
package com.TypeConverter;import java.util.Date;public class userbean { private String uname; private String upwd; private int uage; private Date udate; public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getUpwd() { return upwd; } public void setUpwd(String upwd) { this.upwd = upwd; } public int getUage() { return uage; } public void setUage(int uage) { this.uage = uage; } public Date getUdate() { return udate; } public void setUdate(Date date) { this.udate = date; } public userbean(){} public userbean(String uname, String upwd, int uage, Date udate) { this.uname = uname; this.upwd = upwd; this.uage = uage; this.udate = udate; }}
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Struts2入门(三)——类型转换
关键词:Struts
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。