想飛就別怕摔

          大爺的并TM罵人

          struts類型轉換

          struts類型轉換:有兩種方法(a)實現HttpServlet接口;(b)實現PlugIn接口;
          converter_index.jsp(輸入頁面)
          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            
          <head>
              
          <title>My JSP 'converter_index.jsp' starting page</title>
            
          </head>
            
          <body>
              
          <form action="typeconvert.do" method="post">
              
          <table>
                  
          <tr>
                      
          <td>intValue:</td><td><input type="text" name="intValue"/></td>
                  
          </tr>
                  
          <tr>
                      
          <td>doubleValue:</td><td><input type="text" name="doubleValue"/></td>
                  
          </tr>
                  
          <tr>
                      
          <td>booleanValue:</td><td><input type="text" name="booleanValue"/></td>
                  
          </tr>
                  
          <tr>
                      
          <td>sqlValue:</td><td><input type="text" name="sqlValue"/></td>
                  
          </tr>
                  
          <tr>
                      
          <td>utilDateValue:</td><td><input type="text" name="utilDateValue"/></td>
                  
          </tr>
                  
          <tr>
                      
          <td>submit:</td><td><input type="submit" name="submit"/></td>
                  
          </tr>
              
          </table>    
              
          </form>
            
          </body>
          </html>
          converter_success.jsp(用于顯示)
          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
          <%@ page import="com.eplugger.struts.form.TypeConvertActionForm" %>
          <%@ page isELIgnored="false" %>
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            
          <head>
              
          <title>My JSP 'converter_success.jsp' starting page</title>
            
          </head>
            
          <body>
                  EL表達式取值:
          <br>
                intValue:${typeConvertForm.intValue }
          <br>
                doubleValue:${typeConvertForm.doubleValue }
          <br>
                booleanValue:${typeConvertForm.booleanValue }
          <br>
                java.sql.DateValue:${typeConvertForm.sqlValue }
          <br>
                java.util.DateValue:${typeConvertForm.utilDateValue }
          <br>
                jsp取值:
          <br>
                
          <% 
                TypeConvertActionForm tcaf 
          =(TypeConvertActionForm) request.getAttribute("typeConvertForm");
                
          %>
                
          <%
                    out.print(tcaf.getIntValue());
                
          %><br>
                
          <%
                    out.print(tcaf.getDoubleValue());
                
          %><br>
                
          <%
                    out.print(tcaf.getBooleanValue());
                
          %><br>
                
          <%
                    out.print(tcaf.getSqlValue());
                
          %><br>
                 
          <%
                    out.print(tcaf.getUtilDateValue());
                
          %><br>
            
          </body>
          </html>
          TypeConverterAction.java(只作跳轉)
          package com.eplugger.struts.action;
          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 TypeConvertAction extends Action {
              @Override
              
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response)
                      
          throws Exception {
                  
          return mapping.findForward("success");
              }
          }
          TypeConverterActionForm.java(接收頁面傳來的值)
          package com.eplugger.struts.form;

          import org.apache.struts.action.ActionForm;

          public class TypeConvertActionForm extends ActionForm {
              
          private int intValue;
              
          private double doubleValue;
              
          private boolean booleanValue;
              
          private java.sql.Date sqlValue;
              
          private java.util.Date utilDateValue;
              
              
          public int getIntValue() {
                  
          return intValue;
              }
              
          public void setIntValue(int intValue) {
                  
          this.intValue = intValue;
              }
              
          public double getDoubleValue() {
                  
          return doubleValue;
              }
              
          public void setDoubleValue(double doubleValue) {
                  
          this.doubleValue = doubleValue;
              }
              
          public boolean getBooleanValue() {
                  
          return booleanValue;
              }
              
          public void setBooleanValue(boolean booleanValue) {
                  
          this.booleanValue = booleanValue;
              }
              
          public java.sql.Date getSqlValue() {
                  
          return sqlValue;
              }
              
          public void setSqlValue(java.sql.Date sqlValue) {
                  
          this.sqlValue = sqlValue;
              }
              
          public java.util.Date getUtilDateValue() {
                  
          return utilDateValue;
              }
              
          public void setUtilDateValue(java.util.Date utilDateValue) {
                  
          this.utilDateValue = utilDateValue;
              }
          }
          UtilDateConverter.java(對傳來的String類型的數據進行轉換)
          package com.eplugger.struts;

          import java.text.ParseException;
          import java.text.SimpleDateFormat;
          import java.util.Date;
          import org.apache.commons.beanutils.Converter;


          public class UtilDateConverter implements Converter {

              
          public Object convert(Class type, Object value) {
                  System.out.println(
          "value="+value);
                  
          if(value==null){
                      
          return value;
                  }
                  Date date
          =null;
                  
          if(value instanceof String){
                      SimpleDateFormat sdf 
          = new SimpleDateFormat("yyy-mm-dd");
                      
          try{
                          date 
          = sdf.parse((String)value);
                      }
          catch(ParseException e){
                          e.printStackTrace();
                      }
                  }
                  
          return date;
              }
          }
          兩種方法上面的都一樣。下面的就是兩種方法的區別了
          下面如果用HttpServlet代碼如下:
          UtilDateConverterInitWithServlet.java
          package com.eplugger.struts.converter;
          import java.util.Date;
          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import org.apache.commons.beanutils.ConvertUtils;
          import com.eplugger.struts.UtilDateConverter; 
          /**
           * 注冊java.util.date轉換器
           
          */
          public class UtilDateConverterInitWithServlet extends HttpServlet {
              @Override
              
          public void init() throws ServletException {
                  ConvertUtils.register(
          new UtilDateConverter(), Date.class);
              }
              
          }
          用這個方法必須在web.xml中加上配置
              <servlet>
                  
          <servlet-name>UtilDateConverterInitWithServlet</servlet-name>
                  
          <servlet-class>com.eplugger.struts.converter.UtilDateConverterInitWithServlet</servlet-class>
                  
          <load-on-startup>3</load-on-startup>
              
          </servlet>
          如果用PlugIn方法代碼:
          package com.eplugger.struts.converter;
          import java.util.Date;
          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;
          import com.eplugger.struts.UtilDateConverter;

          public class UtilDateConverterInitWithPlugIn implements PlugIn {
              
          public void destroy() {
              }
              
          public void init(ActionServlet servlet, ModuleConfig config)
                      
          throws ServletException {
                  ConvertUtils.register(
          new UtilDateConverter(), Date.class);
              }
          }
          Struts-config.xml(如果用PlugIn方法必須在最后加上<plug-in className="com.eplugger.struts.converter.UtilDateConverterInitWithPlugIn"/>)
          <?xml version="1.0" encoding="gb2312"?>
          <!DOCTYPE struts-config PUBLIC
                  "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
                  "http://struts.apache.org/dtds/struts-config_1_3.dtd"
          >

          <struts-config>
              
          <form-beans>
                  
          <form-bean name="fileupload" type="com.eplugger.struts.form.FileUploadActionForm"/>
                  
          <form-bean name="blankfield" type="com.eplugger.struts.form.BlankFieldActionForm"/>
                  
          <form-bean name="typeConvertForm" type="com.eplugger.struts.form.TypeConvertActionForm"/>
              
          </form-beans>

              
          <action-mappings>
                  
                  
          <action path="/typeconvert"
                          type
          ="com.eplugger.struts.action.TypeConvertAction"
                          name
          ="typeConvertForm"
                          scope
          ="request"
                  
          >
                      
          <forward name="success" path="/converter_success.jsp"/>
                  
          </action>
              
          </action-mappings>
              
          <plug-in className="com.eplugger.struts.converter.UtilDateConverterInitWithPlugIn"/>
          </struts-config>

          posted on 2009-06-11 15:03 生命的綻放 閱讀(544) 評論(0)  編輯  收藏 所屬分類: Struts1.x

          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(5)

          隨筆分類(94)

          隨筆檔案(93)

          文章分類(5)

          文章檔案(5)

          相冊

          JAVA之橋

          SQL之音

          兄弟之窗

          常用工具下載

          積分與排名

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 大洼县| 二连浩特市| 夹江县| 定襄县| 鄂伦春自治旗| 永吉县| 白城市| 黄骅市| 道真| 宁远县| 曲水县| 维西| 灵石县| 杭锦旗| 黎城县| 牡丹江市| 漯河市| 勐海县| 玉林市| 治县。| 樟树市| 株洲县| 邢台县| 博客| 乐至县| 当阳市| 安国市| 聂拉木县| 武平县| 白沙| 霍邱县| 肥乡县| 鸡西市| 年辖:市辖区| 东城区| 石城县| 突泉县| 缙云县| 湘乡市| 南城县| 梅州市|