在我们接收页面传来的数据时,这些数据都是以String类型接收的,所以要进行数据格式转换,这时候就能够统一为它们进行转换,并且在处理这些数据的类中能够继承ActionSupport类,然后让每个接收数据并做业务处理的action类继承该类,并调用该类中的数据格式转换方法对接收的数据进行处理。

部分关键代码例如以下:

/**

 * 超类BaseAction 数据格式转换

 * @author 七录斋

 *

 */

public class BaseAction extends ActionSupport{





public void write(Object obj){

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType("text/html;charset=utf-8");

try {

response.getWriter().print(obj);

} catch (IOException e) {

e.printStackTrace();

}

}



/**

* 把对应的数据转换成整型数据

* @param value String类型  要转换的数据

* @return 整型  转换失败时返回null

*/

public Integer $int(String value){

try {

return Integer.parseInt(ServletActionContext.getRequest()

.getParameter(value));

} catch (Exception e) {

e.printStackTrace();

}

return null;

}



/**

* 把对应的数据转换成Double类型的数据

* @param value String类型  要转换的数据

* @return Double类型  转换失败时返回null

*/

public Double $double(String value){

try {

return Double.parseDouble(ServletActionContext.getRequest()

.getParameter(value));

} catch (Exception e) {

e.printStackTrace();

}

return null;

}



/**

* 把对应的数据转换成String类型的数据

* @param value String类型  要转换的数据

* @return String类型  转换失败时返回null

*/

public String $str(String value){

try {

return ServletActionContext.getRequest().getParameter(value);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}



/**

* 把对应的数据转换成BigDecimal类型的数据

* @param value String类型  要转换的数据

* @return BigDecimal类型  转换失败时返回null

*/

public BigDecimal $bigDecimal(String value){

try {

return new BigDecimal(ServletActionContext.getRequest()

.getParameter(value));

} catch (Exception e) {

e.printStackTrace();

}

return null;

}



/**

* 把对应的数据转换成Date类型的数据

* @param value String类型  要转换的数据

* @return Date类型  转换失败时返回null

*/

public Date $date(String value){

try {

return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

.parse(ServletActionContext.getRequest().getParameter(value));

} catch (Exception e) {

try {

return new SimpleDateFormat("yyyy-MM-dd")

.parse(ServletActionContext.getRequest().getParameter(value));

} catch (Exception e2) {

e2.printStackTrace();

}

}

return null;

}



/**

* 把对应的数据转换成Time类型的数据

* @param value String类型  要转换的数据

* @return Time类型  转换失败时返回null

*/

public Time $time(String value){

try {

return new Time(new SimpleDateFormat("HH:mm:ss")

.parse(ServletActionContext.getRequest()

.getParameter(value)).getTime());

} catch (Exception e) {

e.printStackTrace();

}

return null;

}



/**

* 把对应的数据转换成Timestamp类型的数据

* @param value String类型  要转换的数据

* @return Timestamp类型  转换失败时返回null

*/

public Timestamp $timestamp(String value){

try {

return new Timestamp(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

.parse(ServletActionContext.getRequest()

.getParameter(value)).getTime());

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

页面输入的数据格式转换类:BaseAction(经常使用于Struts框架中)的更多相关文章

  1. struts框架中OGNL表达式的使用之jsp页面获取action中的属性值

    在jsp页面中获取action中的值: 1.写一个action类OgnlAction类: 需要注意的地方: 如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页 ...

  2. 完善GDAL与OpenCV间的数据格式转换与影像分块读写

    本博客为原创内容,未经博主允许禁止转载,商用,谢谢. 一.前言 关于GDAL与openCV间的数据格式转换,在我之前的博客中已有简要说明,这里,由于最近工作上经常用到openCV里的函数进行图像处理, ...

  3. (转载)OC学习篇之---Foundation框架中的NSDirctionary类以及NSMutableDirctionary类

    昨天学习了Foundation框架中NSArray类和NSMutableArray类,今天来看一下Foundation框架中的NSDirctionary类,NSMutableDirctionary类, ...

  4. C#日期转换类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...

  5. php 网站中文简体繁体转换类

    php 网站中文简体繁体转换类 <?php /* * define zh convert functions * 2017-4-28 use str_replace for speed * zh ...

  6. JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。

    JavaBean组件 JavaBean组件实际是一种java类.通过封装属性和方法成为具有某种功能或者处理某个业务的对象. 特点:1.实现代码的重复利用.2.容易编写和维护.3.jsp页面调用方便. ...

  7. DataTable与DTO对象的简易转换类

    在web开发过程中,有时候为了数据传输的方便,比如:后台需要更新前端的ViewModel,此时我们定义一个与前端ViewModel结构一样的DTO对象,从数据层获取数据后,将数据封装成DTO然后序列化 ...

  8. 【转】【WPF】WriteableBitmap应用及图片数据格式转换

    使用 WriteableBitmap 类基于每个框架来更新和呈现位图.这对于生成算法内容(如分形图像)和数据可视化(如音乐可视化工具)很有用. WriteableBitmap 类使用两个缓冲区.“后台 ...

  9. zw版【转发·台湾nvp系列Delphi例程】Delphi 使用 HALCON库件COM控件数据格式转换

    zw版[转发·台湾nvp系列Delphi例程]Delphi 使用 HALCON库件COM控件数据格式转换 Delphi 使用 HALCON库件COM控件数据格式转换,与IHObjectX接口有关 va ...

随机推荐

  1. 【深度学习笔记】(一)TensorFlow安装及环境搭建

    在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ...

  2. MySQL索引与Index Condition Pushdown

    实际上,这个页面所讲述的是在MariaDB 5.3.3(MySQL是在5.6)开始引入的一种叫做Index Condition Pushdown(以下简称ICP)的查询优化方式.由于本身不是一个层面的 ...

  3. 【转】Entity Framework 5.0系列之约定配置

    Code First之所以能够让开发人员以一种更加高效.灵活的方式进行数据操作有一个重要的原因在于它的约定配置.现在软件开发越来复杂,大家也都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的, ...

  4. maven学习之三

    maven 创建工程: 1:直接命令:mvn archetype:generate -X -DgroupId=org.sselab -DartifactId=maven-for-mongodb  -D ...

  5. Liunx find的运用

    find命令 一.根据 -name 查找 find[搜索范围][搜索条件] find /root -name a1 若是模糊查询,则使用通配符 *匹配任意字符{find /root -name &qu ...

  6. 高并发场景 LVS 安装及高可用实现

    1.1 负载均衡介绍 1.1.1 负载均衡的妙用 负载均衡(Load Balance)集群提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网 ...

  7. laravel5.3统计 withCount()方法的使用

    在laravel5.3之后可以使用withCount()这个方法. 注意:一定要是5.3版本之后,5.2和5.1都会报方法未定义 举个栗子: App\Post::withCount('comments ...

  8. sqoop的导入导出

    1.知道某列的值的增量导入(mysql------>文件) bin/sqoop import \--connect jdbc:mysql://bigdatcdh01:3306/test \--u ...

  9. web兼容性测试相关知识

    一.客户端兼容性 1.浏览器的兼容性测试 a.内核角度 Tridnt内核:代表作IE.腾讯.遨游.世界之窗等 Gecko内核:代表作Firefox webkit内核:代表作Safari.Chrome ...

  10. openstack pike 创建vxlan网络

    #openstack pike 创建vxlan网络 openstack pike 集群高可用  安装部署 汇总 http://www.cnblogs.com/elvi/p/7613861.html # ...