初探struts中的(Converter)
来源:互联网 发布:adobe cc mac 破解 编辑:程序博客网 时间:2024/05/19 06:17
Struts中的Converter可以将一些特定对象转换成字符串,比如int、boolean、double等。例如:它会将1,y,on,yes转换成true.具体的实现要
参阅org.apache.commons.beanutils.Converter下的ConvertUtils.class类。下面是自己参照这个类写了一个转换java.util.date数据类型的
例子:
首先建一个类实现Converter接口。
package com.struts.myconvert;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
/**
* java.util.Date转换器
* @author Administrator
*
*/
public class UtilConvert implements Converter {
public Object convert(Class type, Object value) {
if (value == null) {
return value;
}
if (value instanceof Date) {
return value;
}
if (value instanceof String) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
try {
return format.parse(value.toString());
} catch (ParseException e) {
e.printStackTrace();
}
}
return value;
}
}
然或建一个servlet用来注册这个ava.util.Date转换器:
package com.struts.convert_servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.ConvertUtils;
import com.bjsxt.struts.myconvert.UtilConvert;
public class Myconvert extends HttpServlet {
public void init() throws ServletException {
ConvertUtils.register(new UtilConvert(),Date.class);//调用ConvertUtils的register方法
}
}
当然要在web.xml中配置这个servlet:
<servlet>
<servlet-name>Myconvert</servlet-name>
<servlet-class>com.struts.convert_servlet.Myconvert</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
下面是具体的测试页面:
index.jsp的主要代码:
<form action="convert.do" method="post">
utildate_vlaue:<input type="text" name="utildatevalue">
<input type="submit" value="submit">
</form>
相应的actionForm:
package com.struts.myconvert;
import java.text.SimpleDateFormat;
import org.apache.struts.action.ActionForm;
public class ConvertActionForm extends ActionForm {
private java.util.Date utildatevalue;
public java.util.Date getUtildatevalue() {
return utildatevalue;
}
public void setUtildatevalue(java.util.Date utildatevalue) {
this.utildatevalue = utildatevalue;
}
}
相应的action页面:
package com.struts.myconvert;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class ConvertAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ConvertActionForm cf = (ConvertActionForm)form;
return mapping.findForward("success");
}
}
struts-config.xml中的配置:
<form-beans>
<form-bean name="convertActionForm" type="com.struts.myconvert.ConvertActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/convert"
type="com.struts.myconvert.ConvertAction"
name="convertActionForm"
scope="request"
>
<forward name="success" path="/success.jsp"></forward>
</action>
</action-mappings>
显示页面success.jsp:
主要代码:${convertActionForm.utildatevalue}
然后当你在index.jsp中的输入框中输入:1987-11-11 2-12-45(只能按照UtilConvert类中的yyyy-MM-dd HH-mm-ss格式输入)
提交后就会显示如下:Wed Nov 11 02:12:45 CST 1987
- 初探struts中的(Converter)
- 转换器(Converter)Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)—Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师(Struts 2.0系列之五)
- Struts中的Converter类型转换(两种方式)
- Struts自定义Converter
- 转换器(Converter)——Struts 2.0中的魔术师(Struts2中数据批量保存)[转别人的]
- Struts ActionForm中自定义转换器Converter(简单易懂)
- struts初探
- 基于Converter解决Struts无法处理日期类型的问题(1)
- Converter
- gridview数据导出到excel打印
- java String
- 谈VC++对象模型
- 创意图片
- 原创joke又来了
- 初探struts中的(Converter)
- Vista机会尚未破灭 或重走XP发展旧路
- Joomla!国内站点巡礼
- 字符编码笔记:ASCII,Unicode和UTF-8
- 黑盒测试、白盒测试和灰盒测试的基本概念
- 如何使用java synchronized进行线程同步
- Hibernate 3.3:重新设计、模块化JARS及重构的缓存系统
- log4r
- 从口水仗到法律诉讼 奇虎瑞星之争“升级”