首先我有一个:HelloWorld-validation.xml文件 内容为:
<validators>
    <field name ="reqiuredString">
        <field-validator type ="requiredstring">
           < message > This string is required </ message >
        </field-validator >
    </field >
</validators >
现在我想中文时输出:字符串不能为空,英文时输出:This string is required
已经文件:globalMessages_en_US.properties,内容:reqiuredString=This string is required;
globalMessages_zh_CN.properties,内容:reqiuredString=字符串不能为空。最後:HelloWorld-validation.xml中 < message > This string is required </ message > 应该怎麼改呢,求教,谢谢。

解决方案 »

  1.   

    这个xml里面大概做不到 要不你写在这个方法的签名写一个 方法名validae(){然后判断} 或者js是不是能写
      

  2.   

    你在登录时 选择中文界面 就显示中文的错误提示  使用全英文的界面 就用英文提示了  
    globalMessages_en_US.properties,内容:reqiuredString=This string is required;
    globalMessages_zh_CN.properties,内容:reqiuredString=字符串不能为空
    就是你这个意思 就是差了一步小小的选择语言吧
      

  3.   

    <message key="reqiuredString" /> 这样不行?
      

  4.   


    <?xml version="1.0" encoding="UTF-8"?>
    <!-- 
    /*
     * Copyright 2002-2009 the original author or authors.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
     -->
    <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
    <validators>
    <field name="username">
    <field-validator type="required" short-circuit="true">
    <message key="username.required" />
    </field-validator>
    <field-validator type="requiredstring" short-circuit="true">
    <message key="username.required" />
    </field-validator>
    <field-validator type="stringlength">
    <param name="minLength">3</param>
    <param name="maxLength">30</param>
    <message key="username.stringlength" />
    </field-validator>
    </field>
    <field name="password">
    <field-validator type="required" short-circuit="true">
    <message key="password.required" />
    </field-validator>
    <field-validator type="requiredstring" short-circuit="true">
    <message key="password.required" />
    </field-validator>
    <field-validator type="stringlength">
    <param name="minLength">3</param>
    <param name="maxLength">30</param>
    <message key="password.stringlength" />
    </field-validator>
    </field>
    <field name="confirmPassword">
    <field-validator type="required" short-circuit="true">
    <message key="confirmPassword.required" />
    </field-validator>
    <field-validator type="fieldexpression">
    <param name="expression"><![CDATA[getConfirmPassword().equals(getPassword())]]></param>
    <message key="confirmPassword.fieldexpression" />
    </field-validator>
    </field>
    <field name="type">
    <field-validator type="required">
    <message key="type.required" />
    </field-validator>
    </field>
    <field name="person">
    <field-validator type="int">
    <param name="min">1</param>
    <message key="person.int" />
    </field-validator>
    </field>
    <field name="roles">
    <field-validator type="required" short-circuit="true">
    <message key="roles.required" />
    </field-validator>
    <field-validator type="collectionsize">
    <param name="minSize">1</param>
    <message key="roles.collectionsize" />
    </field-validator>
    </field>
    </validators>
      

  5.   

    如果把代碼改為:
    <validators> 
        <field name ="reqiuredString"> 
            <field-validator type ="requiredstring"> 
                <message key="requiredstring"></message> 
            </field-validator> 
        </field> 
    </validators> 他的提示就變為:requiredstring,
    但是我的requiredstring=This string is required。他沒有輸出requiredstring的值。
      

  6.   

    <validators>

    <field name="reqiuredString">
    <field-validator type="requiredstring" short-circuit="false" >
    <param name="trim">true</param>
    <message>${getText("requiredstring")}</message>
    </field-validator>
    </field>
    </validators>
    这样写有错吗??报的是什么错?
      

  7.   

    xwork-core-2.2.1有这个包你才可以用getText这个方法
      

  8.   

    有這個包,在JSP中可以正常獲取,但XML中會打個叉叉
      

  9.   


    显示reqiuredstring表示struts2没有在你的资源文件中找到对应的值。
    资源文件引用有没有加进去?
      

  10.   

    <constant name="struts.custom.i18n.resources" value="globalMessages"/>