struts2类型转换
2013-06-08 21:53
281 查看
web.xml中要有以下条目
原文:http://www.roseindia.net/struts/struts/struts2.2.1/typeconversionexample.html
源代码:http://pan.baidu.com/share/link?shareid=356719023&uk=3878681452
<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"; @Override public String execute() throws Exception { // TODO Auto-generated method stub System.out.println(getSubmissionDate()); System.out.println(submissionDate); return SUCCESS; }TypeConversionExample-conversion.properties与上诉action类在同一个包中
submissionDate=net.roseindia.converter.DateConverterClaz amount=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(); } @Override public Object convertValue(Map<String, Object> arg0, Object arg1, Member arg2, String arg3, Object value, Class type) { // TODO Auto-generated method stub if(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:类型转换详解
- java框架之struts2数据类型转换(2)
- 剖析Struts2的类型转换
- 5.struts2类型转换
- Struts2.1笔记(五):Struts2的类型转换
- Struts2 类型转换
- 一篇文章搞定Struts2的类型转换
- Struts2 类型转换
- struts2类型转换?
- struts2日期类型转换
- Struts2中转换Date类型的问题
- Struts2类型转换详解
- Struts2 日期类型转换
- 自定义struts2类型转换的全局与局部错误信息。
- struts2类型转换中的错误处理
- struts2的常量、动态方法调用、接受请求参数处理、类型转换 .
- struts2类型转换
- struts2类型转换
- struts2类型转换的总结