struts json登录

1.struts.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
 3 <struts>
 4     <constant name="struts.i18n.encoding" value="UTF-8"></constant>   
 5        
 6     <package name="jsontest" namespace="/" extends="json-default">   
 7         <default-action-ref name="login"></default-action-ref>   
 8         <action name="login" class="com.action.LoginAction">   
 9             <result type="json">   
10                 <param name="root">tip</param>   
11             </result>   
12         </action>   
13     </package>   
14  
15 </struts>    

2.User.java

1 package com.model;
2 
3 public class User {
4 
5     private String username;   
6     private String password;   
7        
8    //set/get
9 }

3.LoginAction.java

 1 public class LoginAction extends ActionSupport {
 2 
 3         private  User user;   
 4         private String tip;   
 5            
 6         public String execute() throws Exception {   
 7             String username=user.getUsername();   
 8             String password=user.getPassword();   
 9             username=URLDecoder.decode(username, "utf-8");    //中文传参处理   
10             
11             System.out.println("Username:"+username+" , Password:"+password);       
12                    
13             Map<String,String> map=new HashMap<String,String>();   
14             map.put("username", username);   
15             JSONObject jo=JSONObject.fromObject(map);   
16             tip=jo.toString();
17             
18             System.out.println("Get Tips:"+tip);   
19       
20             return SUCCESS;   
21         }    
22            
23         public User getUser() {   
24             return user;   
25         }   
26       
27         public void setUser(User user) {   
28             this.user = user;   
29         }   
30       
31         public String getTip() {   
32             return tip;   
33         }   
34         public void setTip(String tip) {   
35             this.tip = tip;   
36         }   
37 }

4.index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>   
<%   
String path = request.getContextPath();   
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";   
%>   
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
<html>   
  <head>   
    <base href="<%=basePath%>">   
       
    <title>Struts2+jQuery+JSON</title>   
    
    <style type="text/css">   
        .decorate{               /*控制文本框样式*/  
            border:1px solid #F00;   
            background:url(images/text_bg.gif) repeat-x;;   
            background-position:bottom;    
        }   
    </style>   
    <script type="text/javascript" src="jquery1.7.2.js"></script>   
    <script type="text/javascript">   
        $(function(){   
            //var username=$("#username"); //抓取对象   
            //var password=$("#password");   
            $("#validate").click(function(){   
                var username=$("#username").val();  //只能使用在jQuery 函数的里面   
                var password=$("#password").val();     
                if(username==""||password==""){   
                    alert("用户名或密码不能为空!");   
                }else{   
                    var url="login?user.username="+encodeURI(encodeURI(username))+
                            "&user.password="+encodeURI(encodeURI(password));   
                    $.getJSON(url,null,function(data){   
                         // convert to json object    
                        //alert(data);  {"username":"guan"}   
                        var message=eval("("+data+")");   
                        //alert(message);  {object,object}
                        $("#tip").html("欢迎您!"+message.username);       
                    });   
                }   
            });   
  
            $("#username").keyup(function(){   
                var username=$("#username").val();   
                if(username==""){   
                    $("#username").addClass("decorate");   
                }else{   
                    $("#username").removeClass("decorate");   
                }   
            });   
            $("#password").keyup(function(){   
                var password=$("#password").val();   
                if(password==""){   
                    $("#password").addClass("decorate");   
                }else{   
                    $("#password").removeClass("decorate");   
                }   
            });   
        });   
    </script>   
  </head>   
     
  <body>   
    <div id="tip" style="color:#F00; font-weight:bold; "></div>   
        <fieldset style="width:600px; ">   
            <legend>用户登录</legend>   
            <p align="center">账号:<input type="text" name="user.username" id="username" class="decorate" /></p>   
            <p align="center">密码:<input type="password" name="user.password" id="password" class="decorate" /></p>   
            <p align="center"><input type="submit" id="validate" name="validate" value="确定" /></p>   
        </fieldset>   
  </body>   
</html>  

posted @ 2013-08-04 00:38  等风来。。  Views(298)  Comments(0Edit  收藏  举报
------------------------------------------------------------------------------------------------------------ --------------- 欢迎联系 x.guan.ling@gmail.com--------------- ------------------------------------------------------------------------------------------------------------