posts - 68, comments - 19, trackbacks - 0, articles - 1

          Struts2自定義類型轉換器

          Posted on 2012-02-04 17:03 viery 閱讀(318) 評論(0)  編輯  收藏
          struts2可以處理很多java類型,對于自定義的類型,如坐標(x,y)作為一個對象這種類型,客戶端與服務器端之間的存儲和顯示,可以用自定義類型轉換器轉換。
          首先,需要構造一個strus2項目,將相關的包引入。編寫輸入頁面的jsp:
           <s:form action="conventer">
            
          <s:textfield name="zuobiao" label="zuobiao"/>
            
          <s:submit label="submit"/>
            
          </s:form>
          和顯示結果的jsp:
          <s:property value="zuobiao"/>

          編寫Zuobiao實體類
          package org.vle.domain;

          public class Zuobiao {
              
              
          private int x;
              
          private int y;
              
          public int getX() {
                  
          return x;
              }

              
          public void setX(int x) {
                  
          this.x = x;
              }

              
          public int getY() {
                  
          return y;
              }

              
          public void setY(int y) {
                  
          this.y = y;
              }

          }


          和ZuobiaoAction類

          public class ConventerAction extends ActionSupport {
           
           private Zuobiao zuobiao;

           public Zuobiao getZuobiao() {
            return zuobiao;
           }

           public void setZuobiao(Zuobiao zuobiao) {
            this.zuobiao = zuobiao;
           }

           @Override
           public String execute() throws Exception {
            // TODO Auto-generated method stub
            return SUCCESS;
           }
           

            
           }

          然后編輯自定義轉換類

          package com.vle.conventer;

          import java.lang.reflect.Member;
          import java.util.Map;

          import ognl.DefaultTypeConverter;

          import org.vle.domain.Zuobiao;

          public class ZuobiaoConventer extends DefaultTypeConverter {

           @Override
           public Object convertValue(Map context, Object target, Member member,
             String propertyName, Object value, Class toType) {
            // TODO Auto-generated method stub
            if(Zuobiao.class==toType){
             String files[]=(String[])value;
             String para[]=files[0].split(",");
             Zuobiao z=new Zuobiao();
             z.setX(Integer.parseInt(para[0]));
             z.setY(Integer.parseInt(para[1]));
             return  z;
            }
            if(String.class==toType){
             Zuobiao z=(Zuobiao)value;
             String s="[x="+z.getX()+",y="+z.getY()+"]";
             return s;
            }
            return null;
           }
           
           最后將自定義編輯類編寫屬性文件注冊
          zuobiao=com.vle.conventer.ZuobiaoConventer

           
          }





          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 瓦房店市| 青浦区| 高州市| 汪清县| 雷山县| 洛隆县| 天门市| 绍兴市| 葫芦岛市| 秭归县| 西乡县| 汽车| 永定县| 兴安县| 德清县| 青田县| 常山县| 阿拉善右旗| 拜泉县| 阿拉善盟| 泗阳县| 宁津县| 抚顺市| 台前县| 公安县| 阿拉善盟| 林甸县| 张掖市| 星子县| 河津市| 平果县| 奉化市| 陇川县| 郯城县| 正宁县| 新昌县| 义马市| 琼海市| 星座| 永吉县| 盱眙县|