??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美在线一卡,国产精品91xxx,国产香蕉在线http://www.aygfsteel.com/zhengzhili/书山有\勤ؓ径,学v无苦作?/description>zh-cnSat, 17 May 2025 20:34:58 GMTSat, 17 May 2025 20:34:58 GMT60Struts2学习W记——国际化http://www.aygfsteel.com/zhengzhili/archive/2010/11/11/337481.htmlBrianBrianThu, 11 Nov 2010 14:16:00 GMThttp://www.aygfsteel.com/zhengzhili/archive/2010/11/11/337481.htmlhttp://www.aygfsteel.com/zhengzhili/comments/337481.htmlhttp://www.aygfsteel.com/zhengzhili/archive/2010/11/11/337481.html#Feedback0http://www.aygfsteel.com/zhengzhili/comments/commentRss/337481.htmlhttp://www.aygfsteel.com/zhengzhili/services/trackbacks/337481.html     JavaE序的国际化主要通过三个cd成:

    java.util.ResourceBundleQ用于加载一个资源包?/p>

    java.util.LocaleQ对应一个特定的国家/区域、语a环境?/p>

    java.text.MessageFormatQ用于消息格式化?/p>

    而资源文件的命名方式主要有三U:baseName_language_country.properties、baseName_language.properties和baseName.properties?/p>

    以下的程序可以得到Java所支持的语a和国Ӟ

public class LocalList {
    
public static void main(String[] args){
        Locale[] localeList 
= Locale.getAvailableLocales();
        
for (int i=0;i<localeList.length;i++){
            System.out.println(localeList[i].getdisplayCountry() 
+ "=" + localeList[i].getCountry() + " " + localeList[i].getDisplayLanguage() + "=" + localeList[i].getLanguage());
        }

    }

}

    使用国际化的代码如: 

public class Hello{
    
public static void main(String[] args){
        Locale myLocale 
= Locale.getDefault();
        ResourceBundle bundle 
= ResourceBundle.getBundle("mess",myLocale);
        System.out.println(bundler.getString(
"hello"));
    }

}

    如果在资源文件中Q存在例如msg = Hello,{0}!Today is {1}.q样需要程序动态插入参数的文本Q则需要用MessageFormatcȝformat()Ҏ?/p>

    除了使用资源文gQ我们也可以使用cL件来代替资源文g。用Java文g代替资源文g的Java文g必须满Q?。类名必LbaseName_language_countryQ这与属性文件的命名怼?。该cdȝ承ListResourceBundleQƈ重写getContentsҎQ该Ҏq回Object数组。该数组的每一个项都是key-value寏V?/p>

public class MyResource_zh_CN extends ListResourceBundle {
    
//定义资源
    private final Object myData[][] = {
        
{"msg","cL件消?{0},您好Q今天是{1}"}
    }
;
    @Override
    
public Object[][] getContents(){
        
return myData;
    }

}


    对于体中文的LocaleQResourceBundler搜烦资源的顺序是Q?/p>

    baseName_zh_CN.class;baseName_zh_CH.properties;baseName_zh.class;baseName_zh.properties;baseName.class;baseName.properties

 

    Struts2讉K国际化消息,主要?U方式:1QJSP面输出国际化消息,可以使用Struts2?lt;s:text.../>标签Q该标签可以指定一个name属性,该属性就是资源文件中的key?Q在Action中,可以使用ActionSupportcȝgetTextҎQ该Ҏ可以接受一个name参数Q指定了国际化资源文件中的key?)表单元素的LabelQ可以ؓ表单标签指定一个key属性,q个key指定了国际化资源文g的key?/p>

     对于带占位符的国际化消息Q在Action中,则需要用getText(String key, String[] args)来处理,其中args是参数列表Q而在面中,则需要ؓ<s:text.../>标签指定<s:param.../>子标{。如Q?/p>

<s:text name="welcomeMsg">
    
<s:param><s:property value="username"></s:param>
</s:text>


   在Struts2中,q有一U更加简单的表达方式。我们可以在资源文g中写例如q样的表辑ּQfailTip=${username},对不P您不能登录!Q通过使用表达式,可以从ValueStack中取出username属性|自动填充到消息资源中。这在Action中很常用?/p>

    对于一个大型应用而言Q国际化资源文g的管理也是一个非常浩大的工程。ؓ了能更好的分而治之,Struts2允许针对不同的模块、不同Action来组l国家化资源文g?/p>

     为Strut2应用指定包范围资源文件的Ҏ?在包的跟路径下徏立多个文件名为package_language_country.properties的文Ӟ一旦徏立了q个pd的国际化资源文gQ应用中处于该包下的所有Action都可以访问该资源文g?/p>

    例如一个Action为codes\packageScope\src\lee\action\LoginAction.javaQ那么我们可以提供package_zh_CN.properties和package_en_US.properties两个文g攑֜codes\packageScope\src\lee目录下,那么q两个文件就能被lee包及lee包下所有子包内的Action所能访问?/p>

    同时Q我们也可以为LoginAction单独指定一份国际化资源文g。即在codes\packageScope\src\lee\action目录下,分别建立LoginAction_zh_CN.properties和LoginAction_en_US.properties两个文g?/p>

    有时候,处于某种Ҏ的原因,我们需要时指定资源文Ӟ那么需要?lt;s:i18n.../>来充?lt;s:text.../>标签的父标签了。如Q?/p>

<s:i18n name="tmp">
    
<s:text name="loginPage"/>
</s:i18n>

<s:i18n name="tmp">
    
<s:form action="login">
        
<s:textfield name="username" key="user"/>
        
<s:textfield name="password" key="pass"/>
        
<s:submit key="login"/>
    
</s:form>
</s:i18n>


    加蝲资源文g的顺序:

  1.     优先加蝲pȝ中保存在ChildAction的类文g相同位置Q且baseName为ChildAction的系列资源文件?/li>
  2.     如果?Q中找不到key对应的消息,且ChildAction有父cParentActionQ则加蝲pȝ中保存在ParentAction的类文g相同位置Q且baseName为ParentAction的系列资源文件?/li>
  3.     如果2Q中找不到key对应的消息,且ChildAction有实现接口IChildActionQ则加蝲pȝ中保存在IChildAction的类文g相同位置Q且baseName为IChildAction的系列资源文件?/li>
  4.     如果3Q中找不到key对应的消息,且ChildAction有实现接口ModelDrivenQ即使用模型驱动模式Q,则对于getModel()Ҏq回的model对象Q重新执?Q步操作?/li>
  5.     如果?Q中找不到key对应的消息,则查扑ֽ前包下baseName为package的系列资源文件?/li>
  6.     如果?Q中找不到key对应的消息,则沿着当前包上溯,直到最层包来查找baseName为package的系列资源文件?/li>
  7.     如果?Q中找不到key对应的消息,则查找struts.custom.i18n.resources帔R指定baseName的系列资源文件?/li>
  8.     如果l过上面步骤一直找不到key对应的消息,直接输key的字W串?/li>

      对于在JSP中访问国际化消息Q则单很多,可以分ؓ两种形式Q?/p>

      1Q对于?lt;s:i18n.../>标签作ؓ父标{<s:text.../>标签Q将直接?lt;s:i18n.../>标签指定的国际化资源文g中加载指定key对应的消息,如果没有Q则dstruts.custom.i18n.resources帔R指定baseName的系列文件。如果还没有Q直接输出key?/p>

     2Q对于没有?lt;s:i18n.../>标签作ؓ父标{<s:text.../>标签Q则直接dstruts.custom.i18n.resources帔R指定baseName的系列文件。如果没有,直接输出key?br />

    Struts2中, 我们可以通过ActionContext.getContext().setLocale(Locale arg)讄用户的默认语a。同时在Struts2 的defaultStack拦截栈中Qi18n拦截器也能设|默认语a。i18n在执行ActionҎ前,会自动查找一个名为request_locale的参数。如果这个参数存在,则拦截器会将其{换成Locale对象Qƈ设ؓ默认的Locale。同Ӟq个Locale对象会保存在Session的名为WW_TRANS_I18N_LOCALE的属性中。一旦用LSession中有WW_TRANS_I18N_LOCALE属性,则属性指定的Locale会作ؓ览器的默认Locale。因此,用户也可利用此功能来开发自行选择语言的功能?/p>

Brian 2010-11-11 22:16 发表评论
]]>
Struts2学习W记 —?上传和下?/title><link>http://www.aygfsteel.com/zhengzhili/archive/2010/11/07/337455.html</link><dc:creator>Brian</dc:creator><author>Brian</author><pubDate>Sun, 07 Nov 2010 06:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhengzhili/archive/2010/11/07/337455.html</guid><wfw:comment>http://www.aygfsteel.com/zhengzhili/comments/337455.html</wfw:comment><comments>http://www.aygfsteel.com/zhengzhili/archive/2010/11/07/337455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhengzhili/comments/commentRss/337455.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhengzhili/services/trackbacks/337455.html</trackback:ping><description><![CDATA[     摘要:     Struts2默认使用Jakarta的Common-FileUpload的文件上传解析器。见struts.properties配置文g中: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#指定使用COS的文件上...  <a href='http://www.aygfsteel.com/zhengzhili/archive/2010/11/07/337455.html'>阅读全文</a><img src ="http://www.aygfsteel.com/zhengzhili/aggbug/337455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhengzhili/" target="_blank">Brian</a> 2010-11-07 14:19 <a href="http://www.aygfsteel.com/zhengzhili/archive/2010/11/07/337455.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2学习W记——输入校验(二)http://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336024.htmlBrianBrianSun, 24 Oct 2010 07:35:00 GMThttp://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336024.htmlhttp://www.aygfsteel.com/zhengzhili/comments/336024.htmlhttp://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336024.html#Feedback1http://www.aygfsteel.com/zhengzhili/comments/commentRss/336024.htmlhttp://www.aygfsteel.com/zhengzhili/services/trackbacks/336024.html     对于loginҎ的校验,可以通过<ActionClassName>-<ActionAliasName>-validation.xml文g来校验,即RegistAction-login-validation.xml文gq行校验。同ӞRegistAction-validation.xml的校验规则仍旧对loginҎ有效。即loginҎ的校验规则是Region-validation.xml和RegistAction-login-validation.xml的d?br />     如果RegistActionl承了BaseActionQ那么对于BaseActioncȝ校验规则也会被RegistActioncLl承校验。具体来_其校验规则的搜烦文g规则如下Q?br />         BaseAction-validation.xml
        BaseAction-别名-validation.xml
        RegistAction-validation.xml
        RegistAction-别名-validation.xml

    对于Struts2所支持的内建校验器Q我们可以通过xwork.2.1.2.jar中的com/opensymphony/xwork2/validator/validators/default.xml文g查看?/p>

    除了配置文gQStruts2也支持Annotation。下面就是用Annotation配置的RegistAction:

@Validation()
public class RegistAction extends ActionSupport {
    private static final long serialVersionUID = -2113900523366315993L;
    
    //该请求包含的4个请求参?br />     private String name;
    private String pass;
    private int age;
    private Date birth;
    
    
    public String getName() {
        return name;
    }
        @RequiredStringValidator(type=ValidatorType.FIELD,key="name.required",message="")
        @RegexFieldValidator(type=ValidatorType.FIELD,expression="\\w{4,25}",key="name.regex",message="")
    public void setName(String name) {
        this.name = name;
    }
    public String getPass() {
        return pass;
    }
        @RequiredStringValidator(type=ValidatorType.FIELD,key="pass.required",message="")
        @RegexFieldValidator(type=ValidatorType.FIELD,expression="\\w{4,25}",key="pass.regex",message="")
    public void setPass(String pass) {
        this.pass = pass;
    }
    public int getAge() {
        return age;
    }
        @IntRangeFieldValidator(message="",key="age.range",min="1",max="150")
    public void setAge(int age) {
        this.age = age;
    }
    public Date getBirth() {
        return birth;
    }
        @DateRangeFieldValidator(message="",key="birth.range",min="1900/01/01",max="2050/01/21")
    public void setBirth(Date birth) {
        this.birth = birth;
    }
}

     

    对于不能通过内置校验器进行校验的逻辑Q则可通过重写validate()Ҏ来实现。如果一个Action中存在多个逻辑处理Q则需要通过validateXxx()Ҏ来分别进行校验,其中Xxx代表Ҏ名。如login()Ҏ对应的校验方法ؓvalidateLogin()?/p>

    Struts2的输入校验流E:

    1。类型{换器负责对字W串的请求参数执行类型{换,q将q些D|成Action的属性倹{?/p>

    2。在执行cd转换q程中,如果发生异常Q则异怿存到ActionContext中,q由conversionError拦截器负责将其封装到fieldError里。然后执行第3步;如无异常Q直接执行第3步?/p>

    3。调用Struts2内置的输入校验规则进行输入校?/p>

    4。通过攑ְ调用validateXxx()Ҏ?/p>

    5。调用validate()Ҏ?/p>

    6。如果上q都未发生fieldErrorQ将调用Action里处理用戯求的处理ҎQ如果出CfieldErrorQ则转入input逻辑视图所指定的视图资源?



Brian 2010-10-24 15:35 发表评论
]]>
Struts2学习W记——输入校验(一Q?/title><link>http://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336019.html</link><dc:creator>Brian</dc:creator><author>Brian</author><pubDate>Sun, 24 Oct 2010 07:01:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336019.html</guid><wfw:comment>http://www.aygfsteel.com/zhengzhili/comments/336019.html</wfw:comment><comments>http://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhengzhili/comments/commentRss/336019.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhengzhili/services/trackbacks/336019.html</trackback:ping><description><![CDATA[     摘要:     Struts2提供了基于验证框架的输入校验Q在q种校验方式下,所有的输入校验只需要通过指定的配|文件即可。Struts2中每个Action都有一个校验文Ӟ其规则ؓQ?lt;Action名字>-validation.xml。如Q?Code highlighting produced by Actipro CodeHighlighter (freewar...  <a href='http://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336019.html'>阅读全文</a><img src ="http://www.aygfsteel.com/zhengzhili/aggbug/336019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhengzhili/" target="_blank">Brian</a> 2010-10-24 15:01 <a href="http://www.aygfsteel.com/zhengzhili/archive/2010/10/24/336019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ExtJs----数据存储与传?/title><link>http://www.aygfsteel.com/zhengzhili/archive/2009/10/27/299801.html</link><dc:creator>Brian</dc:creator><author>Brian</author><pubDate>Tue, 27 Oct 2009 03:00:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhengzhili/archive/2009/10/27/299801.html</guid><wfw:comment>http://www.aygfsteel.com/zhengzhili/comments/299801.html</wfw:comment><comments>http://www.aygfsteel.com/zhengzhili/archive/2009/10/27/299801.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhengzhili/comments/commentRss/299801.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhengzhili/services/trackbacks/299801.html</trackback:ping><description><![CDATA[     摘要: Ext.data.Connection     Ext.data.Connection是对Ext.lib.Ajax的封装,它提供了配置使用Ajax的通用方式Q它在内部通过Ext.lib.Ajax实现与后台的异步调用。与底层的Ext.lib.Ajax相比QExt.data.Connection提供了更z的配置方式Q用v来更方便?  ...  <a href='http://www.aygfsteel.com/zhengzhili/archive/2009/10/27/299801.html'>阅读全文</a><img src ="http://www.aygfsteel.com/zhengzhili/aggbug/299801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhengzhili/" target="_blank">Brian</a> 2009-10-27 11:00 <a href="http://www.aygfsteel.com/zhengzhili/archive/2009/10/27/299801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ExtJs----工具栏和菜单http://www.aygfsteel.com/zhengzhili/archive/2009/10/26/299767.htmlBrianBrianMon, 26 Oct 2009 06:43:00 GMThttp://www.aygfsteel.com/zhengzhili/archive/2009/10/26/299767.htmlhttp://www.aygfsteel.com/zhengzhili/comments/299767.htmlhttp://www.aygfsteel.com/zhengzhili/archive/2009/10/26/299767.html#Feedback0http://www.aygfsteel.com/zhengzhili/comments/commentRss/299767.htmlhttp://www.aygfsteel.com/zhengzhili/services/trackbacks/299767.html阅读全文

Brian 2009-10-26 14:43 发表评论
]]>
ExtJs----布局http://www.aygfsteel.com/zhengzhili/archive/2009/10/26/299732.htmlBrianBrianMon, 26 Oct 2009 04:23:00 GMThttp://www.aygfsteel.com/zhengzhili/archive/2009/10/26/299732.htmlhttp://www.aygfsteel.com/zhengzhili/comments/299732.htmlhttp://www.aygfsteel.com/zhengzhili/archive/2009/10/26/299732.html#Feedback0http://www.aygfsteel.com/zhengzhili/comments/commentRss/299732.htmlhttp://www.aygfsteel.com/zhengzhili/services/trackbacks/299732.html阅读全文

Brian 2009-10-26 12:23 发表评论
]]>
ExtJs----弹出H口http://www.aygfsteel.com/zhengzhili/archive/2009/10/25/299652.htmlBrianBrianSun, 25 Oct 2009 03:24:00 GMThttp://www.aygfsteel.com/zhengzhili/archive/2009/10/25/299652.htmlhttp://www.aygfsteel.com/zhengzhili/comments/299652.htmlhttp://www.aygfsteel.com/zhengzhili/archive/2009/10/25/299652.html#Feedback2http://www.aygfsteel.com/zhengzhili/comments/commentRss/299652.htmlhttp://www.aygfsteel.com/zhengzhili/services/trackbacks/299652.htmlExt.MessageBox

 1//Ext.MessageBox.alert()
 2Ext.MessageBox.alert('标题','内容',function(btn){
 3    alert('你刚刚点M' + btn);
 4}
);
 5
 6//Ext.MessageBox.confirm()
 7Ext.MessageBox.confirm('选择?,'你到底是选择Yesq是No?', function(btn) {
 8    alert('你刚刚点M' + btn);
 9}
);
10
11//Ext.MessageBox.prompt()
12Ext.MessageBox.prompt('输入?,'随便输入一些东?, function(btn,text) {
13    alert('你刚刚点M' + btn + ", 刚刚输入?/span>" + text);
14}
);
    
对话框的更多配置

 1//可以输入多行的输入框
 2Ext.MessageBox.show({
 3    title:'多行输入?,
 4    msg:'你可以多输入好几?,
 5    width:300,
 6    buttons:Ext.MessageBox.OKCANCEL,
 7    multiline:true,
 8    fn:function(btn,text){
 9        alert('你刚刚点M' + btn + ", 刚刚输入?/span>" + text);
10    }

11}
);
12
13//自定义对话框的按?/span>
14Ext.MessageBox.show({
15    title:'随便按个按钮',
16    msg:'从三个按钮里随便选择一?,
17    buttons:Ext.MessageBox.YESNOCANCEL,
18    multiline:true,
19    fn:function(btn){
20        alert('你刚刚点M' + btn);
21    }

22}
);

    Ext.MessageBox中预讄4个按钮分别是OKQYesQNoQCancel。如果不使用YESNOCANCELq种预设变量Q也可以直接使用{ok:true, yes:true, no:true,cancel:true}的Ş式,q样4个按钮都会显C在对话框中?br />
q度?br />
 1Ext.MessageBox.show({
 2    title:'L?,
 3    msg:'d数据?,
 4    width:240,
 5    progress:true,
 6    closable:false  //隐藏对话框右上角的关闭按钮,从而禁止用户关闭进度条
 7}
);
 8
 9//也可以直接用Ext.MessageBox.progress()
10Ext.MessageBox.progress('L?,msg:'d数据?);
11

    上述的进度状态时不会发生变化的,我们需要调用Ext.MessageBox.updateProgress()函数Q如以下为每U变化,10U后隐藏Q?br />
 1var f = function(v){
 2    return function(){
 3        if (v == 11{
 4            Ext.MessageBox.hide();
 5        }
 esle {
 6            Ext.MessageBox.updateProgress(v/10,'正在dW? + v + '个,一?0?);
 7        }

 8    }
;
 9}
;
10for (var i = 1 ; i < 12 ; i++{
11    setTimeout(f(i) , i*1000);
12}

    q可以用一U自动变化的q度条提C框Q如Ext.MessageBox.wait('L?, msg: ' d数据?);

动画效果
    
可以为对话框q是弹出和关闭的动画效果Q用animEl参数指定一个HTML元素Q对话框׃依据指定的HTML元素播放弹出和关闭的动画?br />
H口分组

 1        <script type="text/javascript">
 2var i = 0 , mygroup;
 3
 4function newWin(){
 5    var win = new Ext.Window({
 6        title:'H口'+ i++,
 7        width:400,
 8        height:300,
 9        maximizable:true,
10        manager:mygroup
11    }
);
12    win.show();
13}

14
15function toBack(){
16    mygroup.sendToBack(mygroup.getActive());
17}

18
19function hideAll(){
20    mygroup.hideAll();
21}

22
23Ext.onReady(function(){
24    mygroup = new Ext.WindowGroup();
25
26    Ext.get("btn").on("click",newWin);
27    Ext.get("btnToBack").on("click",toBack);
28    Ext.get("btnHide").on("click",hideAll);
29}
);
30        </script>
31
32 <BODY>
33    <input id="btn" type="button" name="add" value="新窗?/span>"/>
34    <input id="btnToBack" type="button" name="btnToBack" value="攑ֈ后台"/>
35    <input id="btnHide" type="button" name="btnHide" value="隐藏所?/span>"/>
36 </BODY>

    CZ中,所有通过newWind()Ҏ产生的窗口都属于mygroupH口l?

Brian 2009-10-25 11:24 发表评论
]]>
ExtJs----拖放http://www.aygfsteel.com/zhengzhili/archive/2009/10/23/299494.htmlBrianBrianFri, 23 Oct 2009 15:42:00 GMThttp://www.aygfsteel.com/zhengzhili/archive/2009/10/23/299494.htmlhttp://www.aygfsteel.com/zhengzhili/comments/299494.htmlhttp://www.aygfsteel.com/zhengzhili/archive/2009/10/23/299494.html#Feedback0http://www.aygfsteel.com/zhengzhili/comments/commentRss/299494.htmlhttp://www.aygfsteel.com/zhengzhili/services/trackbacks/299494.html阅读全文

Brian 2009-10-23 23:42 发表评论
]]>
ExtJs----Ext支持的控?/title><link>http://www.aygfsteel.com/zhengzhili/archive/2009/10/22/299322.html</link><dc:creator>Brian</dc:creator><author>Brian</author><pubDate>Thu, 22 Oct 2009 06:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhengzhili/archive/2009/10/22/299322.html</guid><wfw:comment>http://www.aygfsteel.com/zhengzhili/comments/299322.html</wfw:comment><comments>http://www.aygfsteel.com/zhengzhili/archive/2009/10/22/299322.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhengzhili/comments/commentRss/299322.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhengzhili/services/trackbacks/299322.html</trackback:ping><description><![CDATA[     摘要: 基本输入控gExt.form.Field     Ext.form.Field是所有表单输入控件的基类Q其他的输入控g都是Z它扩展的来的。其定义了输入控仉用的属性和功能函数Q这些通用的属性和功能函数大致分ؓ3大类Q页面显C样式、控件参数配|和数据有效性校验?    面昄样式QclearCls, cls, ...  <a href='http://www.aygfsteel.com/zhengzhili/archive/2009/10/22/299322.html'>阅读全文</a><img src ="http://www.aygfsteel.com/zhengzhili/aggbug/299322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhengzhili/" target="_blank">Brian</a> 2009-10-22 14:31 <a href="http://www.aygfsteel.com/zhengzhili/archive/2009/10/22/299322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">˴</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӧñر</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ݳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">⴨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˻</a>| <a href="http://" target="_blank">Ƹ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">Ȫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³</a>| <a href="http://" target="_blank">̫ԭ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">կ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">Ͻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank">ʩ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ٹ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>