path中的通配符*在应用中被匹配的部分将会替换{1}。
使用通配符可以将几个相似的Action组合成一个。

解决方案 »

  1.   

    有没有{2}呢?${var:minlength}这东西在那定义的?
      

  2.   

    {1}{2}应该是对应第一个和第二个通配符
    ${var:minlength}一般来说会在<arg/>后面定义
    例如
        <arg position="1" name="minlength" key="${var:minlength}" resource="false"/>
        <var>
            <var-name>minlength</var-name>
            <var-value><![CDATA[8]]></var-value>
        </var>
    只是看过,没用过,不太清楚
      

  3.   

    {1}是通配符<arg name="minlength" key="${var:minlength}" resource="false" position="1"/>
    是在struts的validation.xml文件中。用配置验证提交的form的相应的字段。
    如:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation
    //DTD Commons Validator Rules Configuration 1.0//EN" 
    "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
    <form-validation>
    <formset>
    <form name="userInfoForm">
    <field property="username"
    depends="required,mask,minlength,maxlength">
    <arg0 key="logon.jsp.prompt.username" resource="true"/>
    <arg1 name="minlength" key="${var:minlength}" resource="false"/>
    <arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
    <var>
    <var-name>mask</var-name>
    <var-value>^\w</var-value>
    </var>
    <var>
    <var-name>minlength</var-name>
    <var-value>2</var-value>
    </var>
    <var>
    <var-name>maxlength</var-name>
    <var-value>16</var-value>
    </var>
    </field>
    <field property="password"
    depends="required,minlength,maxlength">
    <arg0 key="logon.jsp.prompt.password" resource="true"/>
    <arg1 name="minlength" key="${var:minlength}" resource="false"/>
    <arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
    <var>
    <var-name>minlength</var-name>
    <var-value>2</var-value>
    </var>
    <var>
    <var-name>maxlength</var-name>
    <var-value>16</var-value>
    </var>
    </field>
    </form>
    </formset>
    </form-validation>
    是用于验证username and password 字段。其中一个<Field>对应于一个Form Bean的一个Field,<Field>标记的property属性说明了这个Field对应的Form Bean的Field名称,这个名称要跟struts-config.xml文件中的<form-bean>中定义的名字一致.depends属性说明了这个Field依赖于那些校验器的校验,可以使用多个校验器,各个校验器之间使用逗号隔开.<msg>标记说明了当这个Field通不过校验的时候向用户提供的错误信息.name属性指定了对应的校验器,key属性指定了定义在ApplicationResources.properties文件中的错误信息.<arg0>和<arg1>是传递给校验器的参数.<var>标记定义了参数的名字和参数值.上面的这个例子说明了password字段由Required,Minlength,Twofields校验器进行校验.指定了这个Field不能为空,而且长度必须位于2和16之间.如果用户的输入不能满足这些要求,校验器将会抛出异常.