Struts2中 如何应用草根ajax?
今天在用struts2 与Ajax结合的时候不能把数据取回到页面来了。。请大家帮帮忙:
html代码:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>registor form</title>
<script language="javascript">
var request;
function checkUserName(){
var username = document.getElementById('userName').value;
var url = "checkUserName.action?username="+username;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
}else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
if(request){
request.open("GET",url, true);
request.onreadystatechange = complete;
request.send(null);
}
}
function complete(){
if (request.readyState == 4) {
if (request.status == 200) {
alert("test1");
alert(resquest.responseText);
// document.getElementById().style.display = "true";
document.getElementById("message").innerHTML = resquest.responseText;
}
}
}
</script>
</head>
<body>
<form action="registor.action" method="get">
<center>
<h1>
Registor Here.
</h1>
name:<input type="text" id="userName" name="userName" value="sun" />
<input type="button" onclick="return checkUserName()" value="check it useable"/>
<br>
pswd:<input type="text" name="password" value="" />
<br><input type="submit" value="submit" />
</center>
</form>
<center>
<div id="result" style="display: block">
<input type="text" id="message" value="" />
</div>
</center>
</body>
</html>
后台struts的代码:
主要是execute()方法的代码:
public String execute() {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UsersService userService = (UsersService) ctx.getBean("UsersService");
result = userService.checkUserName(username);
HttpServletResponse response = (HttpServletResponse) ActionContext
.getContext().get(
org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
PrintWriter pw;
try {
pw = response.getWriter();
pw.write("test");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//获取out输出对象
return null;
}
其他配置文件都没有 action也有反映 但是在页面上不知道怎么把数据拿回来显示。
[该贴被admin于2009-02-25 08:29修改过]