Struts2+JQuery+JSON应用
使用JSON需要引人下列jar包:
json-lib-2.3-jdk15.jar?
commons-beanutils-1.7.0.jar?
commons-httpclient-3.1.jar?
commons-lang-2.3.jar?
commons-logging-1.0.4.jar?
commons-collections-3.1.jar?
ezmorph-1.0.3.jar?
?
?
?
jsp文件:
?
<head><script type="text/javascript">$(document).ready( function() {//使用 Ajax 的方式 判断登录$("#btn_login").click( function() {var url = 'ajaxLogin.action';//获取表单值,并以json的数据形式保存到params中var params = {loginName:$("#loginName").val(),password:$("#password").val(),aa:"测试"}//使用$.post方式$.post(url,//服务器要接受的urlparams,//传递的参数function cbf(data){//服务器返回后执行的函数 参数 data保存的就是服务器发送到客户端的数据//alert(data);var member = eval("("+data+")");//包数据解析为json 格式 $('#result').html("欢迎您: "+member.name+"<br>您的密码是:"+member.password);}, 'json'//数据传递的类型 json);});});</script></head><body><center><table><tr><td><span>用户名:</span></td><td><input type="text" id="loginName" name="loginName"></td></tr><tr><td><span>密码:</span></td><td><input type="password" name="password" id="password"></td></tr><tr><td colspan="2"><input type="button" id="btn_login" value="Login" /></td></tr></table><p>这里显示ajax信息:<br /><span id="result"></span></p></center></body>
?
对应的AJAXLoginAction:
?
public class AjaxLoginAction extends ActionSupport {// 用户Ajax返回数据private String result;// struts的属性驱动模式,自动填充页面的属性到这里private String loginName;private String password;//测试aaprivate String aa;public String getAa() {return aa;}public void setAa(String aa) {this.aa = aa;}public String getResult() {return result;}public void setResult(String result) {this.result = result;}public String getLoginName() {return loginName;}public void setLoginName(String loginName) {this.loginName = loginName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String execute() {System.out.println("-----aa="+aa+"-----");// 用一个Map做例子Map<String, String> map = new HashMap<String, String>();// 为map添加一条数据,记录一下页面传过来loginNamemap.put("name", this.loginName);map.put("password",this.password);// 将要返回的map对象进行json处理JSONObject jo = JSONObject.fromObject(map);// 调用json对象的toString方法转换为字符串然后赋值给resultthis.result = jo.toString();// 可以测试一下resultSystem.out.println(this.result);return SUCCESS;}}?
?