在我们接收页面传来的数据时,这些数据都是以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. Linux特殊字符用法、后台命令管理

    !! 重复前一个命令!字符 重复前一个以"字符"开头的命令!num 安装history命令的序号执行命令!?abc 重复之前包含"abc"的命令!-n 重复倒数 ...

  2. PTA 循环单链表区间删除 (15 分)

    本题要求实现带头结点的循环单链表的创建和单链表的区间删除.L是一个带头结点的循环单链表,函数ListCreate_CL用于创建一个循环单链表,函数ListDelete_CL用于删除取值大于min小于m ...

  3. (原创)遗传算法C++实现

    本文没有对遗传算法的原理做过多的解释 基础知识可以参考下面的博客:http://blog.csdn.net/u010451580/article/details/51178225 本实验用到的变异用到 ...

  4. iOS 从实际出发理解多线程

    前言 多线程很多开发者多多少少相信也都有了解,以前有些东西理解的不是很透,慢慢的积累之后,这方面的东西也需要自己好好的总结一下.多线程从我刚接触到iOS的时候就知道这玩意挺重要的,但那时也是能力有限, ...

  5. java中的内存溢出和内存泄漏

    内存溢出:对于整个应用程序来说,JVM内存空间,已经没有多余的空间分配给新的对象.所以就发生内存溢出. 内存泄露:在应用的整个生命周期内,某个对象一直存在,且对象占用的内存空间越来越大,最终导致JVM ...

  6. 深入学习JS执行--单线程的JS

    一.介绍 随着js不断学习,你可能会慢慢的好奇,用了这么久的js,却不知道这js在浏览器怎么被执行的,很尴尬.所以,我查阅很多资料来总结JS的执行过程,也分享出来,和大家一起学习. 本篇主要讲单线程的 ...

  7. 图文详解AO打印(端桥模式)

    一.概述   AO打印是英文Active-Online Print的简称,也称主动在线打印.打印前支持AO通讯协议的AO打印机首先通过普通网络与C-Lodop服务保持在线链接,网页程序利用JavaSc ...

  8. 前端框架对于未来web移动端的影响

    现在前端框架市场比较乱,各种各样的框架参差不齐,这给我带来了很多困惑,同样是很多朋友的困惑吧!因为前端框架有很多种,对于程序员来说选择学习是非常困难的,不可能有几十上百种都要学习吧,不过最好的办法就是 ...

  9. 有没有必要参加IT培训

    近几年,IT培训机构可谓是琳琅满目,稂莠不齐.培训Java的,培训PHP的,培训大数据的等等吧,不一而足. 自己也算是IT技术圈子待了好多年了,面试过一些机构培训出来的学生,也有几个好哥们在培训机构做 ...

  10. 在没有DOM操作的日子里,我是怎么熬过来的(上)

    前言 在我动笔写这篇文章的时候,我刚刚从我的项目中删除了最后一行JQuery代码.至于我为何要这么做,请听闰土娓娓道来.前几年我还在想,假如有一天,前端世界里不能再直接操作dom了,我该怎么办?没想到 ...