struts2类型转换
来源:互联网 发布:thinkpad装mac系统 编辑:程序博客网 时间:2024/06/05 13:27
web.xml中要有以下条目
<context-param> <param-name>datePattern</param-name> <param-value>yyyy-MM-dd</param-value> </context-param>
public class TypeConversionExample extends ActionSupport{private static final long serialVersionUID = 1L;private String name;private int rollNo;private double amount;private Date submissionDate;private String datePattern="yyyy-mm-dd";@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubSystem.out.println(getSubmissionDate());System.out.println(submissionDate);return SUCCESS;}TypeConversionExample-conversion.properties与上诉action类在同一个包中
submissionDate=net.roseindia.converter.DateConverterClazamount=net.roseindia.converter.CurrencyConverterClaz同一个包中还有错误提示properties文件,见源代码。然后就是另一个包中的类型转换类:
public class DateConverterClaz extends DefaultTypeConverter {private Date convertedDate; public Date convertValue(Map context, Object object, Class type) { System.out.println("Inside Date Converter"); if (type == Date.class) { System.out.println("inside If Block"); String datePattern = "yyyy-MM-dd"; DateFormat format = new SimpleDateFormat(datePattern); format.setLenient(false); try { String[] dateString = (String[]) object; convertedDate = format.parse(dateString[0]); System.out.println("Today "+convertedDate); return convertedDate; } catch (Exception e) { e.toString(); throw new TypeConversionException("Given Date is Invalid"); } } return null; }
public class CurrencyConverterClaz implements TypeConverter{StringBuilder stringBuilder;public String replace(String string, char character, String convert) {if (string == null) {return null;}int length = string.length();stringBuilder= new StringBuilder(string.length() * 2);for (int i = 0; i < length; i++) {char char2 = string.charAt(i);if (char2 == character) {stringBuilder.append(convert);} else {stringBuilder.append(char2);}}return stringBuilder.toString();}@Overridepublic Object convertValue(Map<String, Object> arg0, Object arg1,Member arg2, String arg3, Object value, Class type) {// TODO Auto-generated method stubif(value==null){return null;}else if(type==String.class){NumberFormat newCurrency = new DecimalFormat("#,##0.00");String formatedCurrency=newCurrency.format((Double) value);System.out.println(formatedCurrency);return formatedCurrency;}else if ( type == Double.TYPE || type == Double.class) {String[] strings = (String[]) value;String doubleValue = strings[0];return Double.parseDouble(replace(doubleValue, ',', ""));}return null;}}为了避免中文乱码,jsp页面要有
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags" %><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
原文:http://www.roseindia.net/struts/struts/struts2.2.1/typeconversionexample.html
源代码:http://pan.baidu.com/share/link?shareid=356719023&uk=3878681452
- 【Struts2】:Struts2的类型转换
- struts2类型转换
- struts2类型转换续
- Struts2的类型转换
- struts2 类型转换流程
- Struts2中的类型转换
- [struts2]类型转换笔记
- struts2的类型转换
- Struts2之类型转换
- struts2的类型转换
- struts2 类型转换
- struts2 类型转换
- Struts2类型转换
- struts2日期类型转换
- struts2类型转换
- Struts2类型转换
- Struts2的类型转换
- Struts2日期类型转换
- HDFS副本放置策略
- Java接口的作用和抽象类的区别总结
- 对象的序列化和反序列化
- (ios)内存优化笔记
- mac下开发应用服务器编码问题
- struts2类型转换
- 找猪头三[**X**]QQ号时,引发的一场深层次的思考
- grub4dos
- Qt之qss文件编写
- iOS 消息推送原理及实现总结
- Web 服务技巧: XML Schema 中空值的表示
- HTTP协议之 基本认证
- 开发人员的人际沟通
- iOS UIKit:UILabel