使用ssh三大框架整合时关于struts2,json,ajax整合内容记录。这里写主要部分代码
action部分:
注意事项,action部分的返回值要有set和get方法,否则会报错。
package com.hcj.action;
import net.sf.json.JSONObject;
import com.hcj.dto.User;
import com.hcj.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
//用户注册
public class IsUsernameExistAction extends ActionSupport {
private UserService userService;
private String username;
//这里为json的返回值,这个返回值记得一定要写他的get和set方法,否则会出现错误
private String result;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Override
public String execute() throws Exception {
boolean flag = userService.isUsernameExist(username);
if(flag){
result = "true";
}else{
result = "false";
}
return SUCCESS;
}
}
struts.xml部分:
<package name="json" namespace="" extends="json-default"> <action name="isUsernameExistAction" class="com.hcj.action.IsUsernameExistAction"> <result type="json"> <!-- 这里的root为固定写法,result为action部分定义的返回值名称 --> <param name="root">result</param> </result> </action> </package>
前台界面(ajax部分):
//发送ajax请求
function ajax(value) {
//先声明一个异步请求对象
var xmlHttpReg = null;
if (window.ActiveXObject) {//如果是IE
xmlHttpReg = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttpReg = new XMLHttpRequest(); //实例化一个xmlHttpReg
}
//如果实例化成功,就调用open()方法,就开始准备向服务器发送请求
if (xmlHttpReg != null) {
//url里填写请求地址
var url = "http://localhost:8080/xxx/isUsernameExistAction.action?username="+ value;
xmlHttpReg.open("get", url, true);
xmlHttpReg.send(null);
xmlHttpReg.onreadystatechange = doResult; //设置回调函数
}
//回调函数
//一旦readyState的值改变,将会调用这个函数,readyState=4表示完成相应
//设定函数doResult()
function doResult() {
if (xmlHttpReg.readyState == 4) {//4代表执行完成
console.log("11" + xmlHttpReg.responseText);
if (xmlHttpReg.status == 200) {//200代表执行成功
//将xmlHttpReg.responseText的值赋给ID为resText的元素
//document.getElementById("resText").innerHTML = xmlHttpReg.responseText;
console.log(xmlHttpReg.responseText);
}
}
}
}
原文地址:http://blog.csdn.net/u011768325/article/details/45217017