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>


  
<方法一>

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>

 


<方法二>

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>




你可能感兴趣的:(java,apache,sql,struts,servlet)