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 閱讀(1895) | 評論 (0)編輯 收藏
          僅列出標題  
          主站蜘蛛池模板: 钟祥市| 庆城县| 九台市| 方山县| 白城市| 嵩明县| 峨山| 衡山县| 资兴市| 阳城县| 鹤壁市| 元阳县| 无为县| 蒲城县| 临洮县| 贡山| 达日县| 略阳县| 通江县| 日土县| 陆河县| 孝感市| 五大连池市| 吉木乃县| 峨山| 汝城县| 全椒县| 满洲里市| 衡阳市| 额尔古纳市| 上犹县| 周至县| 喀喇沁旗| 乌苏市| 安溪县| 洪雅县| 腾冲县| 翁牛特旗| 龙海市| 慈溪市| 卫辉市|