你先生成<script language="javascript">这个呀out.println("<script language=\"javascript\">");

解决方案 »

  1.   

    注意转义,生成的script应该是没有问题,只要你的格式正确
      

  2.   

    你是说我在validator-rules.xml中写的不对吗,能不能说明白点
      

  3.   

    怎么感觉有点文不对题呢,
    这句out.println("<script language=\"javascript\">");
    是在哪里面的???
      

  4.   

    struts-config.xml---------------
    <form-bean name="testValidatorForm" type="org.apache.struts.validator.DynaValidatorForm">testValidator.jsp----------------
    <html:javascript formName="testValidatorForm"/><html:form action="/testValidator" method="post" onsubmit="return validateTestValidatorForm(this);"><bean:message key="test.name"/>
    <html:text property="userName"/><html:errors property="userName"/><br/>PS: onsubmit="return ???这个的form名一定要和你struts-config.xml中的form名一样还有大小写也要注意,首字母都得大写"
    在就是validator.xml中的属性名要和资源文件还有你的FormBean(或动态from)<form-bean name="testValidatorForm" type="org.apache.struts.validator.DynaValidatorForm">
          <form-property name="sex" type="java.lang.String" />
          <form-property name="userName" type="java.lang.String" />
          <form-property name="age" type="java.lang.String" />
        </form-bean>中一样,我估计是哪名字不一样或大小写问题吧!
      

  5.   


    detail.jsp:
    <html:form action="/UserAdd" focus="loginname" onsubmit="return validateUserForm(this);">
    <table>
    <tr>
    <td>login名</td>
    <td><html:text property="loginname"/><html:errors property="loginname"/></td>
    <td>名前</td>
    <td><html:text property="realname" /> </td>
    </tr>
    </table>

    </html:form>
    <html:javascript dynamicJavascript="true" staticJavascript="true" formName="UserForm"/>validator-rules.xml
          <validator name="required"
                classname="org.apache.struts.validator.FieldChecks"
                   method="validateRequired"
             methodParams="java.lang.Object,
                           org.apache.commons.validator.ValidatorAction,
                           org.apache.commons.validator.Field,
                           org.apache.struts.action.ActionMessages,
                           javax.servlet.http.HttpServletRequest"
                      msg="errors.required">         <javascript><![CDATA[
                function validateRequired(form) {
                    var bValid = true;
                    var focusField = null;
                    var i = 0;
                    var fields = new Array();
                    oRequired = new required();
                    for (x in oRequired) {
                    alert(x);
                     var field = form[oRequired[x][0]];
                    
                        if (field.type == 'text' ||
                            field.type == 'textarea' ||
                            field.type == 'select-one' ||
                            field.type == 'radio' ||
                            field.type == 'password') {
                            
                            var value='';
    // get field's value
    if (field.type == "select-one") {
    var si = field.selectedIndex;
    if (si >= 0) {
    value = field.options[si].value;
    }
    } else {
    value = field.value;
    }
                            
                            if (trim(value).length == 0) {
                            
                            if (i == 0) {
                                focusField = field;
                            }
                            fields[i++] = oRequired[x][1];
                            bValid = false;
                            }
                        }
                    }
                    if (fields.length > 0) {
                       focusField.focus();
                       alert(fields.join('\n'));
                    }
                    return bValid;
                }
                // Trim whitespace from left and right sides of s.
                function trim(s) {
                    return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
                }
                ]]>
             </javascript>      </validator>struts-config.xml
            <action 
             input="/jsp/detail.jsp"
             name="UserForm"
             scope="request"
             path="/UserAdd"
             type="action.UserAddAction"
             validate="true">
                <forward name="userlist" path="/jsp/detail.jsp" />
                <forward name="error" path="/jsp/Error.jsp" />
            </action>
            
      </action-mappings>
        
      <message-resources parameter="ApplicationResources" /> 
      <!-- Validator Configuration -->
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
      <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
          <set-property property="stopOnFirstError" value="true" />
    </plug-in>