JavaScript兑现Struts2Ajax返回文本字符串
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JavaScript兑现Struts2+Ajax返回文本字符串c_a_3();
JavaScript实现Struts2+Ajax返回文本字符串
小白我最近开始研究Ajax,从头开始,用到Struts2+Ajax返回文本字符串的时候发现网上用原生JavaScript实现的并不是很多,多半是
Struts2+Ajax+JQuery+JSON等实现的。所以小白写了一篇小文,献丑了。
如果有什么不妥的地方,请各位大神批评指正,谢谢。
本文例子主要是实现用户输入用户名之后,当输入框失去焦点的时候检测用户名是否已经存在。
用户页面,
register.html:
li
div class= inputInfo
span 帐号 /span
input type= text value= class= inputText id= name /
/div
/li
li
div class= inputInfo
span 密码 /span
input type= password class= inputText id= password /
/div
/li
!-- 显示返回文本字符串 --
div id= showResponseText /div
工具包utils.js用来获取请求request。
utils.js:
// JavaScript Document utils={
createRequest:function(){
var request ;
try{
request = new XMLHttpRequest();
}catch(tryMS){
try{
request = new ActiveXObject( Msxml2.XMLHTTP );
}catch(otherMS){
try{
request = new ActiveXObject( Microsoft.XMLHTTP ); }catch(failed){
request = null;
}
}
}
return request;
}
};
脚本操作,
register.js
// JavaScript Document
register={
init:function(){
document.getElementById('name').onblur = register.checkUserName; },
checkUserName:function(){
request = utils.createRequest();
if(request == null){
alert( create request failed );
}
else{
var nameValue = document.getElementById('name').value;
var url = ajax_register!checkUserName?userName= +nameValue; request.onreadystatechange = register.showUserNameStatus; request.open( post ,url,true);
request.send(null);
}
},
showUserNameStatus:function(){
if(request.readyState == 4){
if(request.status ==200){
document.getElementById( ppt ).innerHTML=request.responseText; }
}
}
};
window.onload = register.init;
Struts2的配置文件编写,
Struts.xml:
action name= ajax_register class=
customer.action.Ajax_RegisterAction
result type= stream
param name= contentType text/plain /param
param name= inputName inputStream /param
/result
/action
action的编写,
Ajax_RegisterAction.java:
import java.io.InputStream;
import java.io.StringBufferInputStream;
import com.opensymphony.xwork2.ActionSupport;
import customer.service.Register;
import customer.service.RegisterImpl;
public class Ajax_RegisterAction extends ActionSupport { /**
*
*/
private static final long serialVersionUID = 1L; private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) { this.inputStream = inputStream;
}
// service类
private Register register = new RegisterImpl(); private String userName;
public String getUserName() {
return userName;
}
// 检查userName是否重复
public String checkUserName(){
String text = ;
if(!register.checkNameExist(userName)){
text = yes ;
}else{
text = no ;
}
getResponseText(text);
return SUCCESS;