这个应用主要用在springside框架中的ajax用户注册验证,我这个菜鸟做的大家试试参考!!
1页面jsp 的script代码:
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function createQueryString() {
var userid = document.getElementById("userid").value;
var queryString = "userid=" + userid;
return queryString ;
}
function doRequestUsingGET() {
if(document.getElementById("userid").value==""){
alert("用户名不能为空");
}else{
createXMLHttpRequest();
var queryString = "<%=request.getContextPath()%>/pages/um/operInfo.do?method=checkuser&";
queryString = queryString + createQueryString()
+ "&timeStamp=" + new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
}
}
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
parseResults();
}
}
}
function parseResults() {
var responseDiv = document.getElementById("serverResponse");
if(responseDiv.hasChildNodes()) {
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
</script>
2还要在页面添加一个按钮和一个div层
<html:text property="userid" styleClass="text" />
<td width="8%">
<input type="button" value="检查用户" class="MyButton" onclick="doRequestUsingGET();"/>
</td>
<td width="10%" style="color: #FF0000" align="left"><div id="serverResponse"></div> //当服务端返回值就在这里显示是否存在用户名
</td>
3在ACTION中写一个方法命名为checkuser,记得不要写actionforwad的方法!
/*
* 验证用户是否存在
*/
publicvoid checkuser(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
String userid=request.getParameter("userid");
response.setContentType("text/xml;charset=UTF-8");
String responseText=null;
try {
PrintWriter out= response.getWriter();
int Result=sysUserManager.findUserBy(userid.trim());
switch(Result)
{
case 0:
responseText ="该用户名已经存在!";
break;
case 1:
responseText ="用户名可以注册!";
break;
}
out.println(responseText);
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
4 在业务层MANAGER类中 findUserBy ()方法
publicint findUserBy(String userid){
SysUser user = null;
try{
user = this.get(SysUser.class,userid);
}catch (Exception e){
user = null;
}
if (user==null)
return 1;
else
return 0;
}