国产成人精品av,久久精品国产一区二区三,亚洲国产精品99久久久久久久久 http://www.aygfsteel.com/LiuYi/點(diǎn)點(diǎn)滴滴 zh-cnThu, 19 Jun 2025 09:50:38 GMTThu, 19 Jun 2025 09:50:38 GMT60Struts 2 Converter 應(yīng)用http://www.aygfsteel.com/LiuYi/archive/2008/01/29/178398.htmlWinterWinterTue, 29 Jan 2008 11:00:00 GMThttp://www.aygfsteel.com/LiuYi/archive/2008/01/29/178398.htmlhttp://www.aygfsteel.com/LiuYi/comments/178398.htmlhttp://www.aygfsteel.com/LiuYi/archive/2008/01/29/178398.html#Feedback0http://www.aygfsteel.com/LiuYi/comments/commentRss/178398.htmlhttp://www.aygfsteel.com/LiuYi/services/trackbacks/178398.html 在這里把這個(gè)過程記錄下來 已備以后自己閱讀和提供給需要學(xué)習(xí)的朋友們。
Converter 轉(zhuǎn)換器主要用于對(duì)象之間的轉(zhuǎn)換  MAX 在他的BLOG 演示了如何把一個(gè)STRING 和一個(gè)LOCAL對(duì)象之間的轉(zhuǎn)換。
我自己做了個(gè)測(cè)試的例子 是 模擬用戶登陸 把 用戶名和密碼 2個(gè)String 通過轉(zhuǎn)換器 轉(zhuǎn)換成一個(gè)自定義的USER 對(duì)象 給ACTION 用
功能上是多余的 純粹為了技術(shù)研究。

 

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>


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

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

在測(cè)試過成中 發(fā)現(xiàn)了一個(gè)功能
如果用OGNL
Name: <s:textfield name="%{'user.name'}" />
            PassWord: 
<s:password name="%{'user.password'}" />

這樣寫的話  則轉(zhuǎn)換器失效了 可以直接訪問到ACTION  ACTION 通過攔截器 把2個(gè)字段 通過USER 的構(gòu)造器 構(gòu)造USER 對(duì)象供ACTION調(diào)用。

有事情 不說了 !!!!!!


Winter 2008-01-29 19:00 發(fā)表評(píng)論
]]>
主站蜘蛛池模板: 彭泽县| 秀山| 株洲县| 肇源县| 乐平市| 浏阳市| 满城县| 浦北县| 黄陵县| 乌恰县| 靖西县| 新兴县| 建始县| 鄂托克前旗| 巧家县| 垫江县| 光山县| 邵东县| 渑池县| 奈曼旗| 昆山市| 北京市| 拜城县| 铜梁县| 顺平县| 大悟县| 涡阳县| 类乌齐县| 兰考县| 辉南县| 隆子县| 建德市| 东安县| 裕民县| 台州市| 东兰县| 桂东县| 岳阳县| 大邑县| 惠水县| 冀州市|