怎么样把后台的验证显示在前台呢?这就要经过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配置

 
 
 
 

 
 
  /indexmain.jsp


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");
    }
 

                                                           
                                                          
                                                     
                     
     
 看不清

                             
                                                                   
    
我帖例子是为了大家能看的更懂一些 如果直接copy那要修改很多  我希望大家能先看懂 再模仿