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

网上有许多关于Struts2与JSON的文章,Google加百度,查阅了许多,有各种各样的做法。其中,大部分的文章都说要加进一个叫 jsonplugin的插件,在Google Code可以下载。以前我有做过测试,也是用它,但着实麻烦,要让Struts2的package继承一个叫“json-default”的父 package。网上的文章,大部分都是说从Struts的Action如何把JSON数据发送回浏览器端(Ajax),而我想要一个跟它们相反的过程(即从Ajax端发送数据到服务器端的Action并解析出来),却找不到合适的答案。摸索了三个晚上,未果。今天终于让我找到了思路。

其中,不管是从浏览器端(JS,Ajax,Jquery等)发送给服务器端,还是从服务器端(Struts的Action,Servlet等)发送回客户端,都要识别一点:发送的都应该是JSON格式的字符串。

下面,我们先来重写登录模块中的loginform.jsp文件,原来的代码,请看Struts 2.1.6 精简实例系列教程(2):用户登录模块的实现,现在修改的代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录页</title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
     $(function(){
         $("#submit").click(function(){
             var loginName1 = $("input[name='loginName']").val(); //获取账号
             var password1 = $("input[name='password']").val(); //获取密码
             var jsonUser = {loginName:loginName1, password:password1}; //JSON对象

             //注意:jsonUser.toString()这种方法错误,javaScript中的toString是用于布尔型变量的,而应用以下方法
             var strUser = JSON.stringify(jsonUser); //将JSON对象转变成JSON格式的字符串,

             $.post("login!valid.action", {json: strUser}, callback, "json");
         });
         function callback(json){
             alert(json.msg); //显示反馈信息
             if(json.suc == 1){    //如果返回"登录成功"
                 window.location.href = "admin/index.action"; //跳转到后台主页
             }
         }

     });
</script>
</head>
<body>
<form action="login.action" method="post">
     账号<input type="text" name="loginName"/><br/>
     密码<input type="password" name="password"><br/>
     <input type="button" id="submit" value="登录"/>
</form>
</body>
</html>

关键的两句是:

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

时间: 2024-11-03 23:27:08

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

Struts 2.1.6精简实例系列教程(2):用户登录模块的实现

用户登录几乎是每一个Web系统的必需模块,本期教程就通过用户登录模块来讲解Struts2.1.6的Action和Result的Annotation配置. 上期的Struts 2.1.6 精简实例系列教程(1):环境的搭建与HelloSimple中,我们建的package名为"cn.simple.action",这些包名有一个规则的,只要包含 "action,actions,struts,struts2"都会默认被扫描到为Action类,也就是说,我们只要配置了如 &

Struts 2.1.6精简实例系列教程(4):新闻管理模块的实现

上期讲了新闻管理模块Model层的开发,本期让我们来一起开发新闻管理的Action类和JSP页面. 先从JSP页面写起吧,在admin目录下建两个文件,一个是显示新闻列表的article.jsp,另一个是新闻编辑的article- input.jsp,新闻添加和新闻修改归于同一文件,节省一点资源,这一点,学习了Springside开源项目.再建一个新闻管理的Action类 ArticleAction.java.这三个文件的目录结构如下: 网站根目录/WEB-INF/content/admin/a

Struts 2.1.6精简实例系列教程(5):用户注册模块(整合Jquery)

学习Jquery,当然要首先去它的官方网站:http://jquery.com/,如下图.在有"download"字眼的地方下载就行,我这里下载的是当前最新的版本Jquery 1.3.2.下载解压后,其实,也就是JS文件jquery-1.3.2.min.js. Jquery最好的学习材料莫过于Jquery 1.3 API 参考文档中文版(如下图),下载地址:http://jquery-api-zh-cn.googlecode.com/files/jQueryAPI-090129.zip

Struts 2.1.6精简实例系列教程(1):环境的搭建与HelloSimple

下载Struts2.1.6,网址http://struts.apache.org/download.cgi#struts216,点击下图中选中的部分即可下载. 下载Eclipse for JavaEE(3.4 or 3.5),网址http://www.eclipse.org/downloads/,点击下图选中的链接,进入下一个页面,找到能够下载的地方下载就行.

Struts 2.1.6精简实例系列教程(3):新闻管理Model层的开发(整合iBatis)

本期开始讲Model层的开发,整合iBatis框架,iBatis是Apache旗下Java数据持久层的框架,跟Hibernate是同一类型的框架.大家可到它的官方网站去下载http://ibatis.apache.org/java.cgi,如下图: 我这里下载的是当前最新版本iBatis 2.3.4 , 下载之后,解压包是这样的: 我们在lib目录下,找到"ibatis-2.3.4.726.jar"文件,加入到我们项目的lib目录下,就行.在这里,我们先说下怎么学习这个iBatis框架

Laravel重写用户登录简单示例_php实例

本文实例讲述了Laravel重写用户登录的方法.分享给大家供大家参考,具体如下: class AuthController extends Controller { // use ThrottlesLogins, AuthenticatesAndRegistersUsers; protected $redirectTo = 'admin/index'; protected $loginView = 'admin/login'; protected $guard = 'admin'; protec

asp用户登录模块实例代码

 asp用户登录模块实例代码: 用户登录验证脚本,Chkpwd.asp 以下为引用的内容: <%  '=======用户登录验证脚本=======  '如果尚未定义Passed对象,则将其定义为false,表示没有通过验证  If IsEmpty(Session("Passed")) Then  Session("Passed")=false  End If  'Session("Passed")=False,表示尚未通过验证,则开始读取从

【Qt编程】基于Qt的词典开发系列&amp;lt;八&amp;gt;--用户登录及API调用的实现

在上一篇文章<调用网络API>中,我只讲述了如何直观的使用API接口以及调用API后返回的结果,本文则从程序实现的角度来实现API的调用,当然本程序的实现也是借助于扇贝网的API接口文档http://www.shanbay.com/help/developer/api/. 由API文档可知,要想调用其API,必须先注册.因此,我就注册了,账户名为nineheadedbird, 密码为123456.显然,我们要查词,首先必须得登录该账户.如果用浏览器,那就很简单,只需单纯的输入用户名和密码就可以

Nginx系列教程:Http Access Key模块

此模块没有被包含在Nginx官方安装包中. 这个模块可以阻止所有URL中未包含合法访问令牌的访问(防盗链).访问令牌可以由访问者IP或者其它服务器变量生成,所以可以很好地控制客户端的下载行为. 配置实例: location /download {&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; accesskey             on;  accesskey_hashmethod  md5;  access