您的位置:首页 > 编程语言 > Java开发

Struts2_Converter(转换器的使用)_Demo

2016-05-25 17:01 573 查看
package org.com.test.converter;

import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;
import org.com.test.model.Point;
/**
* 要为某个对象增加相应的类型转换器,首先得创建一个类继承StrutsTypeConverter
* @author Administrator
*
*/
public class PointConverter extends StrutsTypeConverter {

private Point point = null;
/**
* 完成字符串到对象的转换
*/
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
try {
if (values.length<=1) {
String conver = values[0];
String [] str = conver.split(",");
point = new Point();
point.setX(Integer.parseInt(str[0]));
point.setY(Integer.parseInt(str[1]));
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
return point;
}
/**
* 完成对象到字符串的转换
*/
@Override
public String convertToString(Map context, Object o) {
Point p = (Point)o;
return p.getX()+","+p.getY();
}

}

org.com.test.model.Point=org.com.test.converter.PointConverter

************************************************************************************************************************************************************************************************************************************************************************全局转换器结束*****************************************************************************************************

package org.com.test.converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

public class DateConverter01 extends StrutsTypeConverter{

private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
private Date date = null;
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
try {
if (values.length<=1) {
String str = values[0];
date = sdf.parse(str);
}
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}

@Override
public String convertToString(Map context, Object o) {

return sdf.format((Date)o);//Parameters:date the time value to be formatted into a time string.
}

}

package org.com.test.converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

public class DateConverter02 extends StrutsTypeConverter{

private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
private Date date = null;
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
try {
if (values.length<=1) {
String str = values[0];
date = sdf.parse(str);
}
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}

@Override
public String convertToString(Map context, Object o) {

return sdf.format((Date)o);//Parameters:date the time value to be formatted into a time string.
}

}
msg.createDate=org.com.test.converter.DateConverter01
endDate=org.com.test.converter.DateConverter02
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0