想飛就別怕摔

          大爺的并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之音

          兄弟之窗

          常用工具下載

          積分與排名

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 高陵县| 米林县| 德格县| 东乌珠穆沁旗| 连云港市| 环江| 临西县| 洪洞县| 武定县| 棋牌| 泸溪县| 云和县| 兰坪| 青河县| 威远县| 银川市| 肃宁县| 观塘区| 墨脱县| 平罗县| 儋州市| 安陆市| 霍林郭勒市| 深圳市| 涞水县| 于田县| 张家界市| 即墨市| 和政县| 宁陵县| 阿图什市| 吉首市| 香格里拉县| 海伦市| 千阳县| 深水埗区| 调兵山市| 商城县| 祁东县| 南乐县| 乳山市|