struts 实现ajax校验用户名是否存在

struts.xml    :
<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<package name="default" extends="struts-default">
		<action name="check" class="controller.UserAction" method="check">
			<result name="check" type="stream">
				<param name="inputName">inputStream</param>
				<param name="contentType">text/html</param>
			</result>
		</action>
	</package>
</struts>
check方法只是走形式,使用流向前台发送数据,控制层自定义流,方法名字一定要是getInputStream:
package controller;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;

import service.UserService;
import vo.User;

public class UserAction {
	private User user;
	private UserService us = new UserService();
	public String check(){
		
		return "check";
	}
	public InputStream getInputStream() throws UnsupportedEncodingException{
		String count = us.checkAccount(user.getAccount()) + "";
		ByteArrayInputStream bai = new ByteArrayInputStream(count.getBytes("utf-8"));
		return bai;
	}
	
	
	
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
}

前台ajax:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript" src="jquery.validate.js"></script>
<script type="text/javascript" src="messages_zh.js"></script>
<script type="text/javascript">
	jQuery.validator.addMethod("checkAccount",function(value){
		var flag = false;
		$.ajax({
			url:"check.action",
			data:{"user.account":value},
			async:false,
			success:function(data){
				if (data == "0"){
					flag = true;
				}
			},
			error:function(e){
				alert(e.status());
			}
		});
		return flag;
	},"用户存在");
	$(function() {
		$("#form1").validate({
			rules : {
				"user.account" : {
					required : true,
					checkAccount:true
				},
				"user.psw" : {
					required : true
				},
				"psw2" : {
					required : true
				}
			}
		});
	});
</script>
</head>

<body>
	<form action="reg.action" method="post" id="form1">
		鐢ㄦ埛鍚?锛?input name="user.account" type="text" /><br> 瀵嗙爜 锛?input
			name="user.psw" type="password" /><br> 閲嶅瀵嗙爜锛?input name="psw2"
			type="password" /><br> <input value="娉ㄥ唽" type="submit">
	</form>
</body>
</html>



猜你喜欢

转载自blog.csdn.net/qq_40100214/article/details/78504384