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

          Struts2自定義類型轉換器

          Posted on 2012-02-04 17:03 viery 閱讀(317) 評論(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

           
          }





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


          網站導航:
           
          主站蜘蛛池模板: 泊头市| 抚州市| 泗阳县| 三门峡市| 江达县| 九江市| 八宿县| 屏东市| 大宁县| 龙南县| 扬州市| 县级市| 青浦区| 江阴市| 垣曲县| 青龙| 建水县| 榕江县| 淮阳县| 肇源县| 渭源县| 武穴市| 锡林浩特市| 鄂托克前旗| 湟源县| 漯河市| 永吉县| 石屏县| 广宗县| 宜都市| 湟中县| 南和县| 上高县| 普定县| 都兰县| 酉阳| 呼和浩特市| 安徽省| 株洲市| 沂水县| 郸城县|