`
ldsjdy
  • 浏览: 151031 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Json JQuery Struts2

阅读更多
Struts2.2 有自带的 json plugin,但在 2.0.14中好像没有,所以在网上找了些资料整理了一下.

1.struts2.0.14核心包
2.jsonplugin-0.32.jar
http://code.google.com/p/jsonplugin/downloads/list
3.jquery jquery-1.4.2.min.js

下面的demo简单的实现了通过jquery访问action,action返回json格式对象,需要注意的地方:
1.将action的返回类型设置为 json, package 继承 json-default
设置返回类型为json后,struts2的拦截器会自动将返回的数据转换为json对象.

1. JSONAction.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package action;
import com.googlecode.jsonplugin.JSONException;
import com.googlecode.jsonplugin.JSONUtil;
import com.opensymphony.xwork2.ActionSupport;
import entity.Member;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author db2
 */
public class JSONAction  extends ActionSupport{

    //在执行完action后,应为在struts.xml中配置的 返回 类型为json,所以
    // member在经过strust2的拦截器时会被转换为 json格式,在页面上可以直接以Json对象使用
    private Member member;
    private String result;
    private String memberId;

    public Member getMember() {
        return member;
    }

    public void setMember(Member member) {
        this.member = member;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
       // System.out.println("set result: " + result);
        this.result = result;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }
    



    //当用户存在时,反回一个Json 格式的 member, 否则返回 false
   public  String execute() throws JSONException{
       List<Member> members = new ArrayList<Member>();
       members.add(new Member(123,123,"member1"));
       members.add(new Member(456,456,"member2"));

       boolean flag  = false;
       for(Member m:members){
           if(Long.toString(m.getId()).equals(memberId)){

               // 1.将m转换成Json格式字符串,的页面上取值是要先把resutl转换为 Josn Object
               this.result=JSONUtil.serialize(m);
               System.out.println("result member: " + result);

               // 2.设置Member为 member,与 this.result=JSONUtil.serialize(m); 的作用一样
               setMember(m);
              // 1 与 2 的作用都是一样的, 任选一个就可以了

                flag = true;
                break;
           }
       }

       if(!flag){
           result ="false";
       }
        return SUCCESS;
    }

}




2. struts.xml

 <!--将返回结果设置成json, package 需要继承 json-default-->
    <package name="default2" extends="json-default">
            <action name="jsonTest" class="action.JSONAction">
                    <result type="json"/>
            </action>
    </package>


3.index.jsp


<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>index.jsp</title>
        <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
        <script type="text/javascript">

            $(document).ready(function(){
                $("#button1").click(function (){
                    var member_id = $("#member_id").val();
                    // alert(member_id);
                    $.ajax({
                        url: "jsonTest.action",
                        type:"post",
                        data:"memberId="+member_id,// 传入JSONAction 的参数
                        cache:false,
                        success: function(bd){
                            //从返回的结果中读取member
                            if(bd.result != "false"){
                                alert("MemberId from member: " + bd.member.memberId);
                                //直接打印result 结果为 json格式的字符串
                                alert("result: " + bd.result);
                                var obj=eval("("+bd.result+")");
                                alert("Member from result: memberId:" +obj.memberId+"  memberName: "+obj.memberName);
                            }else{
                                alert("member 不存在");
                            }

                        }
                    });
                });
            });
        </script>

    </head>
    <body>
       
        输入MemberId查询: <input type="text" id="member_id" value="123"/>
        <input type="button" id="button1" value="提交"/>

    </body>
</html>





分享到:
评论

相关推荐

    JSON jQuery Struts 2

    2. **JSON序列化与反序列化**:在服务器端,Struts 2的JSON插件可以自动将Action的属性转换为JSON对象,而在客户端,jQuery可以使用`JSON.parse()`或`$.parseJSON()`方法将接收到的JSON字符串转化为JavaScript对象。...

    jquery ajax json struts2最简单例子测试成功

    在IT行业中,jQuery、AJAX、JSON以及Struts2是四个非常重要的技术,它们在Web开发领域中扮演着核心角色。下面将详细解释这些技术及其相互间的集成。 **jQuery** 是一个快速、简洁的JavaScript库,它简化了HTML文档...

    Struts2+Jquery+JSON 应用例子

    Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON

    struts2+json

    这个资源"struts2+json"显然涉及到在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,这是一种轻量级的数据交换格式,广泛用于前后端交互,特别是AJAX(Asynchronous JavaScript and XML)请求。...

    jQuery json+struts2 jar包全集

    在IT行业中,jQuery、JSON和Struts2是三个非常重要的技术组件,它们分别在Web开发的不同层面上发挥着关键作用。下面将详细解释这三个技术及其相互间的结合。 **jQuery** 是一个快速、简洁的JavaScript库,它使得...

    jQuery+json+struts2 开发备忘录(一)

    在本篇“jQuery+json+struts2 开发备忘录(一)”中,我们将探讨如何使用这三种技术来构建高效且用户友好的Web应用程序。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。JSON...

    json+jquery+struts2+ajax

    struts2 json jquery ajax实现用户登陆及业面跳转

    整合jquery+json+struts2异步提交实例

    在这个实例中,“整合jquery+json+struts2异步提交”是一个典型的前端与后端交互的示例,利用了jQuery的Ajax功能和Struts2框架处理JSON数据。下面我们将详细探讨这些技术及其相互配合的工作原理。 **jQuery** 是一...

    Jquery struts2 json 实现ajax

    标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...

    json+struts2的jar

    7. **JQuery/AJAX调用**:在前端,可以使用JQuery的AJAX方法向服务器发送请求,获取Struts2 Action返回的JSON数据,然后动态更新DOM元素。 8. **安全性考虑**:在使用JSON和Struts2交互时,需要注意防止JSON ...

    Jquery+struts2上传图片,制作进度条,以及Jquery+Json+Struts交互等示例

    Jquery+struts2上传图片,制作进度条等示例,还有Jquery+Json+Struts实现Ajax技术,还有图形处理技术等,虽然很少,但都有重点突出,由于我也是学习,所以代码不是很简洁,对想学习交流的朋友非常合适

    json + struts2 + 80个JQuery 效果 个例子

    总的来说,这个压缩包提供了一个全面的学习资源,帮助开发者深入理解并熟练运用JSON数据格式、Struts2框架和jQuery库。通过这些实例,你可以提高Web开发技能,尤其是处理动态交互和数据交换的能力。在实践中不断探索...

    json_struts2.rar_JSON java_SSH json Struts2_java json_json_strut

    这个实例教程可能涵盖了如何设置Struts2的JSON支持,编写jQuery脚本进行AJAX请求,以及在后台处理这些请求的Struts2 Action。通过学习和实践这个例子,开发者可以掌握如何在Java Web应用中有效地利用JSON进行数据...

    struts2 Ajax json Jquery demo

    Struts2、Ajax、JSON和jQuery是Web开发中常见的技术,它们共同构建了现代Web应用程序的交互性。在这个"struts2 Ajax json Jquery demo"中,我们将探讨这些技术如何协同工作,创建一个异步数据交换的示例。 首先,...

    Struts2+JSON+JQuery实现简单的验证

    Struts2、JSON和JQuery是Web开发中的三个关键技术,它们常常被结合使用来构建高效、动态的用户界面。在本教程中,我们将探讨如何利用这些技术实现一个简单的验证功能。 首先,Struts2是一个基于MVC(Model-View-...

    jquery的ajax传json对象数组到struts2的action

    本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    Struts2 Tiles JSON jQuery Convention

    这个"Struts2 Tiles JSON jQuery Convention"的资料包可能是为了展示如何在Struts2框架下结合Tiles、JSON和jQuery实现高效、灵活的Web应用开发。下面将详细解释这些技术的结合以及它们如何协同工作。 1. **Struts2*...

    一个简单的struts2+json+jquery 交互的例子

    Struts2、JSON和jQuery是Web开发中常用的三个技术,它们在构建动态、交互式的Web应用程序时发挥着关键作用。这个例子将展示如何整合这三个工具,实现前后端的数据交换。 首先,Struts2是一个强大的MVC(Model-View-...

    json2+jsonplugin struts2整合ajax时,使用json时需要的jar包

    在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...

Global site tag (gtag.js) - Google Analytics