使用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); } } } }
时间: 2024-10-23 15:37:30