日期:2014-05-16 浏览次数:20333 次
使用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, //服务器要接受的url params, //传递的参数 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; //测试aa private 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; } @Override public String execute() { System.out.println("-----aa="+aa+"-----"); // 用一个Map做例子 Map<String, String> map = new HashMap<String, String>(); // 为map添加一条数据,记录一下页面传过来loginName map.put("name", this.loginName); map.put("password",this.password); // 将要返回的map对象进行json处理 JSONObject jo = JSONObject.fromObject(map); // 调用json对象的toString方法转换为字符串然后赋值给result this.result = jo.toString(); // 可以测试一下result System.out.println(this.result); return SUCCESS; } }?
?