struts2 中不使用 jsonplugin 插件,结合jquery 实现ajax 验证

这是不使用jsonplugin在struts2实现ajax验证

1新建action

package com.web.action.ajax;
public class Test1Action {

	
	private String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

         //此处可以不需要返回值
	public void validaeName(){
		
		System.out.println("------------------");
		System.out.println("--------name----------"+name);
		
		String result="";
		
		if("system".equals(name)){
			result="{name:\""+name+"\",msg:\"1111\"}";
		}else{
			result="{name:\""+name+"\",msg:\"2222\"}";
		}
	   
		HttpServletResponse response=(HttpServletResponse)ServletActionContext.getResponse();
		
		try {
//使用response 输出响应信息  给发请求的客户端
			response.getWriter().write(result);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
2 struts.xml 中的配置文件
<package name="base" namespace="/" extends="struts-default">   
 <action name="test1*" class="com.web.action.ajax.Test1Action" method="{1}">   
  </action>
</package>
3 前端页面调用
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">

function show(){
      var loginid=$("#username").val();
      var vlogin=$("#namemessage");
    
    if($.trim(loginid)==""){
          vlogin.html("请输入用户名!!");
    } else{  
         var url = '<s:url  action="test1validaeName"  ></s:url>?';
                 var params = {name:$('#username').attr('value')};
            jQuery.post(url, params, callbackFun);
     }
}

function callbackFun(data)
            {
                          
var ob=eval("("+data+")");//将返回的字符窜 转成js 对象
            
            alert(ob.name);
            alert(ob.msg);
                   //处理操作,偷懒下,不写了,呵呵
            }



</script>

  </head>
  
  <body>
   用户名<input type="text" name="username" id="username" />
   <input  type="button"   value="检查用户名是否存在!!"  id="one" onclick="show()" />
   <span id="namemessage"> </span>
  </body>

相关推荐