ActionForm类型的自动转换和自定义转换器的实现

测试ActionForm类型的自动转换
*boolean:yes,1,on,true都会转换成true类型,而且忽略大小写,其让情况转换成false
*Date类型的转换:
*如果是java.sql.Date,页面日期的格式必须为yyy-MM-dd, ,才可以转换
*如果是java.util.Date,默认情况下struts无法转换

*自定义转换器的实现
*实现converter接口,实现convet方法
*将实现的converter注册,通常情况下采用servlet注册
*采用servlet注册需要注意标签的配置,<load-on-startup>10</load-on-startup>



index.jsp
 <li>测试struts的类型转换器</li>
<form action="type_convert.do" method="post">
intValue:<input type="text" name="intValue"/><br>
doubleValue:<input type="text" name="doubleValue"/><br>
booleanValue:<input type="text" name="booleanValue"/><br>
java.sql.date:<input type="text" name="sqlDate"/><br>
java.util.date:<input type="text" name="utilDate"/><br>
<input type="submit" value="提交"/><br>
</form>



[b]<方法一>[/b]

UtilDateConverterInitWithServlet .java

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.apache.commons.beanutils.ConvertUtils;

public class UtilDateConverterInitWithServlet extends HttpServlet {

@Override
public void init() throws ServletException {
System.out.println("UtilDateConverterInitWithServlet.init()");
ConvertUtils.register(new UtilDateConverter(), java.util.Date.class);
}

}



web.xml
<servlet>
<servlet-name>UtilDateConverterInitWithServlet</servlet-name>
<servlet-class>com.hugui.struts.UtilDateConverterInitWithServlet</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>




[b]<方法二>[/b]

UtilDateConverterInitWithPlugin .java

import javax.servlet.ServletException;

import org.apache.commons.beanutils.ConvertUtils;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;

public class UtilDateConverterInitWithPlugin implements PlugIn {

public void destroy() {
// TODO Auto-generated method stub

}

public void init(ActionServlet servlet, ModuleConfig config)
throws ServletException {
System.out.println("UtilDateConverterInitWithPlugin.init()");
ConvertUtils.register(new UtilDateConverter(), java.util.Date.class);

}

}


struts-config.xml
 <plug-in className="com.hugui.struts.UtilDateConverterInitWithPlugin"></plug-in>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值