快速业务通道

Struts 2.1.6精简实例系列教程(6):重写用户登录模块(整合Jquery+JSON) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
ton" id="submit" value="登录"/> </form> </body> </html>

关键的两句是:

var jsonUser = {loginName:loginName1, password:password1}; (1) var strUser = JSON.stringify(jsonUser); (2)

Struts 2.1.6精简实例系列教程(6):重写用户登录模块(整合Jquery+JSON)(2)

时间:2011-01-20 BlogJava 心梦帆影

第(1)句是组装JSON对象,关于JSON对象的格式,建议大家到http://www.json.org/网站上学习一下,要验证你写的JSON对象是否正确,可在http://json.bloople.net/网站上验证。上面写的JSON对象其实是非常简单的一种,jsonUser对象里有两个属性,分别是loginName和password,而表示这两个属性,用key-value的形式,loginName1和password1分别是接收表单中的账号、密码的值。

第(2)句,相当重要,通过JavaScript内置对象JSON的stringify方法,将JSON对象转换成字符串。因为,我们传送给服务器端的要是JSON格式的字符串。

$.post("login!valid.action", {json: strUser}, callback, "json");

这一句,Jquery用POST方法向服务器端发送数据,login!valid.action是我们要发送到的目的URI,也即直达 loginAction的valid方法。而{…}是我们要发送的数据(data),{json:strUser},其实也是一个JSON对象,Key:value的形式,大家注意,我们把strUser这个json串发过去,在Action那里接收时,要接收“json”这个变量,这个变量的值就是我们发送的strUser字符串。

回调函数(callback)是指服务器端成功发回时,在JS端执行的函数。最后一个参数“json”是返回数据类型的一种,另外,还有”text”、“xml”等。而function callback函数体的内容,大家看完LoginAction类后,自然会明白。

好,Show一下修改后的LoginAction.java,代码如下:

package cn.simple.action; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import org.json.JSONObject; import cn.simple.manager.UserManager; import cn.simple.pojo.User; import com.opensymphony.xwork2.ActionSupport; //@Results({ //    @Result(name="success", location="admin/index.action", type="redirect"), //    @Result(name="input", location="loginform.jsp", type="dispatcher") //}) public class LoginAction extends ActionSupport {      private String json; //JSON字符串,JS与Action传递数据的载体      public String getJson() {          return json;      }      public void setJson(String json) {          this.json = json;      }      /** *//**       * 登录验证       * @throws Exception       */      public void valid() throws Exception {          JSONObject jsonObj = new JSONObject(json); //将JSON格式的字符串构造成JSON对象          String loginName = jsonObj.getString("loginName"); //获取JSON对象中的loginName属性的值          String password = jsonObj.getString("password"); //获取JSON对象中的password属性的值     

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号