怎么样把后台的验证显示在前台呢?这就要经过json数据传输了 运用了jquery,ajax技术
我简单的帖个例子出来,希望大家给点意见
这个程序的关键就是把以下 msg的内容输出到前台 就是通过js提示出来
package com.hz.bbs.action;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.p_w_picpath.BufferedImage;
import java.util.Random;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.json.annotations.JSON;

import com.hz.bbs.entity.User;
import com.hz.bbs.service.DaoService;
import com.hz.bbs.service.impl.DaoServiceImpl;
import com.opensymphony.xwork2.ActionSupport;
import com.sun.mail.iap.Response;

public class DaoAction extends ActionSupport {

    /**
     *
     */
    private static final long serialVersionUID = 8508463273698504917L;
    private DaoService daoService = new DaoServiceImpl();
    private String username;
    private String password;
    private User user;
    private String code;
    private String msg="";
    public String getCode() {
    return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    @JSON(serialize=true)
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    @JSON(serialize=true)
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    @JSON(serialize=true)
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public static long getSerialversionuid() {
        return serialVersionUID;
    }
    public String login() {
        user = new User();
        System.out.println(code);
         HttpServletRequest request = ServletActionContext.getRequest();       
            HttpSession session = request.getSession();
         String rands = (String)session.getAttribute("randoms");
         System.out.println("12"+" "+rands);
        user.setUsername(username);
        user.setUserpassword(password);
        System.out.println(username);
        System.out.println(password);
        session.setAttribute("admin", username);
        user.setIschecked("1");
        int b = daoService.login(user);
        if(!rands.equalsIgnoreCase(code)) {
            msg="验证码错误";
            return INPUT;
        }
        if(b==0)  {
            System.out.println("用户名错误");
            msg = "用户名或者密码错误";
            System.out.println(user.getUsername());
            return INPUT;          
        }   
        if(b==1){
            return INPUT;
          }
       
        return INPUT;
    }
    public String main(){
       
        return SUCCESS;
    }
   
}
所有msg语句都要返回input 在配置文件中input直接返回json
strut.xml配置
<package name="bbs" namespace="/" extends="struts-default,json-default">
  <!-- 后台登录 -->
  <action name="login" class="com.hz.bbs.action.DaoAction" method="login">
  <result name="input" type="json"/>
  </action>
 
  <action name="main" class="com.hz.bbs.action.DaoAction" method="main">
  <result name="success">/indexmain.jsp</result>
</package>

jsp页面
通过ajax异步传参
function getMsg(){
      
        $.post("login.action",
         { username:$('#username').val(),password:$('#password').val(),code:$('#code').val() },
           function(data){
               if(data.msg == ""||data.msg==null){
                   window.location.href="main.action";
               }else{
                   alert(data.msg);
//                   window.location=window.location;
               }
           },"json");
    }
 <form name="myform" action="login.action" method="post" onSubmit=" return validateForm('myform')">
 <span class="login_txt"><span class="STYLE1">管理员:</span> </span>                                                          
<input id="username" name="username" class="editbox4" value="" size="20">                                                          
      <span class="login_txt"> <span class="STYLE1">密&nbsp;&nbsp;码: </span></span>                                                <input type="password" class="editbox4" id="password" size="20" name="password">
      <span class="login_txt STYLE1">验证码:</span>                <input type="text" class="wenbenkuang" id="code" name="code" maxlength="4" size="20">
      <img border="0" id="codeimg" name="codeimg" src="rand.action">
 <a href="javascript:reloadImage('rand.action')"><font color="red">看不清</font></a><br>
<input type="button" name="Submit" class="STYLE1" id="Submit" value="登 陆" onClick="getMsg();">                             
 <input type="reset" name="cs" class="STYLE1" id="cs" value="取 消">                                                                   </form>    
我帖例子是为了大家能看的更懂一些 如果直接copy那要修改很多  我希望大家能先看懂 再模仿