posts - 1,  comments - 0,  trackbacks - 0
            2008年1月29日
          這幾天學習了一下Struts2 在看了Converter的時候自己做了個例子
          在這里把這個過程記錄下來 已備以后自己閱讀和提供給需要學習的朋友們。
          Converter 轉換器主要用于對象之間的轉換  MAX 在他的BLOG 演示了如何把一個STRING 和一個LOCAL對象之間的轉換。
          我自己做了個測試的例子 是 模擬用戶登陸 把 用戶名和密碼 2個String 通過轉換器 轉換成一個自定義的USER 對象 給ACTION 用
          功能上是多余的 純粹為了技術研究。

           

          package struts2.converter;

          import java.util.Map;

          import ognl.DefaultTypeConverter;
          import struts2.vo.User;

          public class UserConverter extends DefaultTypeConverter {

           @Override
           
          public Object convertValue(Map context, Object value, Class toType) {
            System.out.println(
          "---------------------------");
            
          if (toType == User.class{

             String[] par 
          = (String[]) value;
             String name 
          = par[0];
             String password 
          = par[1];
             System.out.println(name 
          + "--------" + password + "    ");
             
          return new User(name, password);

            }

            
          else if (toType == String.class{
             System.out.println(
          "sadfasfasdfs");

            }


            
          return null;
           }

          }



          JSP
          <%@ page contentType="text/html; charset=UTF-8"%>
          <%@ taglib prefix="s" uri="/struts-tags"%>
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
              
          <head>
                  
          <title>Login</title>
              
          </head>
              
          <body>
                  
          <h3>
                      Login
                  
          </h3>
                  
          <s:form action="Login">
                      Name: 
          <s:textfield name="user" />
                      PassWord: 
          <s:password name="user" />
                      
          <s:submit />
                  
          </s:form>
              
          </body>
          </html>


          簡單的ACTION 和CONVERTER 配置這里就不多說了 要了解的可以去看MAX的文章 那里很詳細

          這里要說的的 2個字段的name屬性 我用的都是USER 這樣 在CONVERTER里面的時候就能取出來NEW 一個USER

          在測試過成中 發現了一個功能
          如果用OGNL
          Name: <s:textfield name="%{'user.name'}" />
                      PassWord: 
          <s:password name="%{'user.password'}" />

          這樣寫的話  則轉換器失效了 可以直接訪問到ACTION  ACTION 通過攔截器 把2個字段 通過USER 的構造器 構造USER 對象供ACTION調用。

          有事情 不說了 !!!!!!
          posted @ 2008-01-29 19:00 Winter 閱讀(1894) | 評論 (0)編輯 收藏
          僅列出標題  
          主站蜘蛛池模板: 南岸区| 伊宁县| 友谊县| 隆安县| 陆丰市| 丰宁| 九江县| 大竹县| 浙江省| 西平县| 商南县| 西青区| 墨脱县| 秦安县| 蓝田县| 府谷县| 临高县| 色达县| 马关县| 保康县| 交城县| 台东县| 防城港市| 奉新县| 宝鸡市| 安国市| 永宁县| 乳山市| 肃北| 舒城县| 益阳市| 土默特左旗| 柳州市| 华阴市| 游戏| 巴彦淖尔市| 长岛县| 临朐县| 巴林右旗| 汉寿县| 会昌县|