struts2学习之struts2 + jquery + json进行AJAX请求

第一步:使用MyEclipse8.5创建web项目,并添加struts2支持。

第二步:配置struts.xml ,添加

<package name="ajax" extends="json-default"> 
         <action name="ajaxLogin" class="org.test.action.AjaxLoginAction"> 
             <!-- 返回类型为json 在json-default中定义 --> 
            <result type="json"> 
                 <!-- root的值对应要返回的值的属性 --> 
                <!-- 这里的result值即是 对应action中的 result --> 
                <param name="root">result</param> 
             </result>                  
        </action> 
</package> 

 

第三步:编写action类

package org.test.action;

import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
import com.opensymphony.xwork2.ActionSupport; 

public class AjaxLoginAction extends ActionSupport {
 
 private String result; 
 private String loginName; 
 private String password; 
 
 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; 
 } 
    
 public String execute() {   
       try{ 
           System.out.println("------------"); 
 
           Map<String, String> map = new HashMap<String, String>(); 
           System.out.println(this.loginName); 

           map.put("name", this.loginName); 
           map.put("password",this.password); 
 
           JSONObject jo = JSONObject.fromObject(map); 
           System.out.println(jo.toString()); 

           result = jo.toString();   

           System.out.println(this.result); 
            
       }catch(Exception e){ 
        System.out.println(e); 
       } 
      
       return SUCCESS;       
  } 
}

 

第四步:编写JSP文件

<%@ 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">
  <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script><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()
   }
   //使用$.post方式 
   $.post(
    url,  //服务器要接受的url
    params,  //传递的参数  
    function cbf(data){ //服务器返回后执行的函数 参数 data保存的是服务器发送到客户端的数据
     //alert(data);
     var info = eval("("+data+")"); //包数据解析为json格式 
     $('#result').html("欢迎您: "+info.name+'<br>密码是: '+info.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>
</html>

 

第五步:执行

如果出现java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher错误提示,请添加ezmorph-1.0.6.jar包(Json需要)

执行结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值