<!-- 注册 --> <action name="regist" class="WebMemberInfoAction1"> <result>nz-xc/regist.jsp</result> </action>
<script language="javascript"> var request; function createRequest() { try { request = new XMLHttpRequest(); } catch (trymicrosoft) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { request = false; } } } if (!request) { alert("err Happend!"); return null; } return request; } function checkNameAjax(obj) { document.getElementById("loadingImg").style.display="block"; request = createRequest(); /*判断选择国家与当前语言是否相同 如果相同就不刷新。不相同刷新 */ var memberName = obj.value; var url = "regist!checkName.shtml?memberName="+memberName ; request.open("GET", url, "true"); request.onreadystatechange = disResult;//隐性的循环 request.send(null); } function disResult() { if (request.readyState == 4) { if (request.status == 200) { //一切都OK了,那就该用Javascript去执行你想要的动作了。 document.getElementById("loadingImg").style.display="none"; alert(request.responseText); } else { alert('Something Wrong has Happend!'); } } } </script>
<tr style="width:287px;"> <td width="45px;">姓名:</td> <td align="left" width="160px;"><input type="text" name="webMember.memberName" id="webMember.memberName" onblur="checkNameAjax(this)"/> </td> <td> <div id="loadingImg" style="background-color: ;float: left;width: 82px;text-align: left;display: none"> <img src="nz-xc/loader.gif" height="20px;" width="20px;"/> </div> </td> </tr>
//验证用户名是否存在 public String checkName() throws Exception { WebMember webMember1 =newsInfoService.findWebMemberByName(memberName); String mes = ""; if(webMember1!=null){ mes = "用户名已经存在"; // setSuccessMsg("0");//用户名已经存在 }else{ mes = "不存在"; //setSuccessMsg("1"); } System.out.println("mes===="+mes); //return ISConstants.IS_OPER_SUCCESS; HttpServletResponse response = ServletActionContext.getResponse(); PrintWriter out=response.getWriter(); out.write(mes); out.close(); return null; }
下边这个是验证经典的带下拉框
前台:index.jsp
<html>
<head>
<title></title>
<!-- 验证景区名称是否添加 -->
<script language="javascript">
var request;
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request) {
alert("err Happend!");
return null;
}
return request;
}
function getBackInfo() {
request = createRequest();
var scenicname = document.getElementById("scenicname").value;
scenicname= encodeURI(scenicname);
scenicname = encodeURI(scenicname);//注重要两次
if (scenicname==null||scenicname=="") {
alert("请输入景点名称");
return false;
} else {
var url = "scenic.do?ss=checkName&scenicname=" + scenicname;
request.open("GET", url, "true");
request.onreadystatechange = disResult;//隐性的循环
request.send(null);
}
}
function disResult() {
if (request.readyState == 4) {
if (request.status == 200) {
//一切都OK了,那就该用Javascript去执行你想要的动作了。
alert(request.responseText);
alert('done');
} else {
alert('Something Wrong has Happend!');
}
}
}
</script>
<body class="thrColAbsHdr">
<form name="form1" id="form1" action="scenic.do?ss=add">
景区名称:
<input type="text" id="scenicname" class="scenicName" name="scenicName" onblur="getBackInfo();" style="color: #999"/>
</form>
</body>
</html>
action :
public ActionForward checkName(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String name = request.getParameter("scenicname");
try {
// 转换编码!
name = java.net.URLDecoder.decode(name, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ScenicDao sdao = new ScenicDao();
String mes = null;
PrintWriter out=response.getWriter();
if(sdao.checkName(name)){
mes = "该景区名称已经存在";
}else{
mes = "可以添加";
}
out.write(mes);
out.close();
// return mapping.findForward("add");
return null; //这里要是返回fordword的话就会报错java.lang.IllegalStateException: Cannot forward after response has been committed 错误,所以要返回null.
}
dao:
// 检查景区名称是否存在
public Boolean checkName(String name) throws Exception {
Connection conn = util.ConnUtil.conn();
Statement stmt = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
String sql = "select * from scenic where name='" + name + "'";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
rs.close();
stmt.close();
conn.close();
return true;
} else {
return false;
}
}
配置文件:
<action path="/scenic" parameter="ss" input="/index.jsp" scope="request" type="ScenicAction">
</action>