struts2,json,ajax整合内容记录

使用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);
	                  }
	              }

	          }
	        

	      }




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。