我i点提交后,。,会进入一个action执行查询。。同时还要服务器去验证。。文本框为不为空
。。
这种情况。。该怎么办呢。?不用js验证、。。
我写了个,但是点提交后。
 它直接没有验证就 只想了action中的方法执行查询了。没有经过服务器验证。。有什么方法让它先经过服务器验证,在执行方法呢?|
 

解决方案 »

  1.   

    你写的验证方法是validate吗?那是不是你的action没有继承ActionSupport
      

  2.   

    用validate
    action继承ActionSupport
      

  3.   

    不是得··我用的struts1.2在action中写的是自己定义的方法、package com.foods.web.action;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.DynaActionForm;
    import org.apache.struts.actions.DispatchAction;import com.foods.bizI.UsersBizI;
    import com.foods.bizImpl.UsersBizImpl;
    import com.foods.entity.Users;public class LoginAction extends DispatchAction{ public ActionForward loginUser(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    DynaActionForm loginForm = (DynaActionForm)form;
    Users us = new Users();
    us.setUserName(loginForm.getString("username"));
    us.setUserPass(loginForm.getString("userpass"));
    UsersBizI ub = new UsersBizImpl();
    Users u = (Users)ub.selUser(us);
    if(u!=null){

    return mapping.findForward("loginSuccess");
    }else{

    return mapping.findForward("loginError");
    }

    }

    }在struts-config.xml:<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
      <data-sources />
    <form-beans>
           <form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">
          <form-property name="username" type="java.lang.String" />
           <form-property name="userpass" type="java.lang.String" />
        </form-bean>
       
      </form-beans>
      
      
      <global-exceptions />
      <global-forwards />
      
      
       <action-mappings >
          
      
       <action path="/loginUsers"  parameter="method" name="loginForm" validate="true" type="com.foods.web.action.LoginAction" input="/Users/loginUser.jsp" >
       <forward name="loginSuccess" path="/Foods/viewFoods.jsp"></forward>
       <forward name="loginError" path="/Users/RegUser.jsp"></forward>
       </action>
      
      </action-mappings>
      
      
      <message-resources parameter="com.foods.struts.Resources" />
      
      
      
          <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
            <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
                                                      /WEB-INF/validator.xml"/>
          </plug-in>
    </struts-config>
    validator.xml:<!DOCTYPE form-validation PUBLIC
              "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
              "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"><form-validation>  <formset>
       <form name="loginForm">
       <field property="username" depends="required">
       <arg0 key="errors.name" />
       </field>
      
      
       <field property="userpass" depends="required,minlength">
       <arg0 key="errors.pass"/>
       <arg1 key="${var:minlength}" name="minlength" resource="false"/>
       <var>
       <var-name>minlength</var-name>
    <var-value>6</var-value>
       </var>
       </field>
       </form>
      </formset>
    </form-validation>loginUser.jsp:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'loginUser.jsp' starting page</title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
      </head>
      
      <body>
      <center>
         <form action="loginUsers.do" method="post" name="loginForm" >
    <input type="hidden" name="method" value="loginUser">
        <table border="0">
        <tr>
        <td colspan="2" align="center"><Strong>请登录</Strong><br>
        <a href=""><font size="2" color="red">我要注册</font></a>
        </td>
        </tr>
        <tr>
          <td>用户名</td><td><input type="text" name="username"></td><html:errors property="username"/>
        </tr>
        <tr>
          <td>密      码</td><td><input type="text" name="userpass"></td><html:errors property="userpass" />
        </tr>
        <tr>
          <td align="right"><input type="submit" value="登录"></td>
          <td align="center"><input type="reset" value="重置"></td>
        </tr>
        </table>
       </form>
       </center>
      </body>
    </html>Resources.properties:# Resources for parameter 'com.foods.struts.Resources'
    # Project Struts1.2Foods errors.required={0} is required.
     errors.name=userName
     
      errors.minlength={0} can not be less than {1} characters.
      errors.pass=userPass