ajax 是一种客户端与服务器端异步请求的交互技术。相比同步请求,大大提高了信息交互的速度和效率。是当下非常实用和流行的技术。

这里简单的说明 struts2 + jquery + json 下的 信息传递。

1 . 首先创建一个 静态页面 ,然后在 脚本中 写一个 ajax 方法如下:

$.ajax({
type : "get" ,
url : "ajax/ajax?time="+Math.random() ,
datatype : "json" ,
success : function(data){
var json = $.parseJSON(data);
mydiv.innerHTML = data.name;
} , error : function(data){
alert(data.status);
}
})

2 . 后台的 action 方法如下:

        private String result;

        public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
} public String execute() throws Exception{
JSONObject jsonObj = new JSONObject();
jsonObj.put("name", "james");
this.setResult(jsonObj.toString());
return SUCCESS;
}

3 . 然后在 struts.xml 文件中 配置 action 的 result属性:

<package name="ajax" namespace="/ajax" extends="json-default">
<action name="ajax" class="org.java.action.AjaxAction" method="execute">
<result type="json"> /* 注意 result 的 type 属性为 json */
<param name="excludeNullProperties">true</param> /* 将存入对象中的 null 值过滤掉 */
</result>
</action>
</package>

其中需要导入一个名叫:struts2-json-plugin-2.3.4.jar 的 jar 包,其中的 package 所扩展的包 ==》json-default 就是从这个 jar 包中 继承的。导入该 jar 包到项目中之后,还将该 jar 包下的 struts-plugin.xml 文件中一个 包名叫 json-default 的包,拷贝到你的 struts.xml 文件中,这样就实现了在 struts2中使用jquery的 ajax 方法,将数据封装成 json 对象进行 前后台的 信息交互了。

json-default 的包信息如下:

<!-- 处理 ajax 请求 json 数据格式的包 -->
<package name="json-default" extends="struts-default">
<result-types>
<result-type name="json" class="org.apache.struts2.json.JSONResult"/>
</result-types> <interceptors>
<interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/>
<interceptor name="jsonValidation" class="org.apache.struts2.json.JSONValidationInterceptor"/>
<!-- Sample JSON validation stack -->
<interceptor-stack name="jsonValidationWorkflowStack">
<interceptor-ref name="basicStack"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel</param>
</interceptor-ref>
<interceptor-ref name="jsonValidation"/>
<interceptor-ref name="workflow"/>
</interceptor-stack>
</interceptors>
</package>

struts2 + jquery + json 简单的前后台信息交互的更多相关文章

  1. PHP中使用 $_GET 与$_POST 实现简单的前后台数据传输交互功能

    在之前的学习过程中我们接触过前后台数据请求交互的方法有表单提交.AJAX请求以及Angularjs中的$http,今天我们尝试在PHP中使用 $_GET 与$_POST 实现简单的前后台数据传输交互功 ...

  2. struts2+jquery+json集成

    以下采用struts2+jquery+json模拟一个案例.当点击提交按钮时会把输入的数据提交到后台,然后从后台获取数据在客户端显示. 效果如下: 接下来为struts2+jquery+json集成步 ...

  3. 留存: struts2+jquery+json集成

    原文地址:struts2+jquery+json集成 以下采用struts2+jquery+json模拟一个案例.当点击提交按钮时会把输入的数据提交到后台,然后从后台获取数据在客户端显示. 效果如下: ...

  4. Struts2+JQuery+Json登陆实例

    Struts2+JQuery+Json登陆实例 博客分类: Struts2   在搭建之前.. 首先,需要准备struts2.0框架的5个核心包, 以及jsonplugin-0.32.jar 以及js ...

  5. 玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互

    最近在学Json,在网上也找过一些资料,觉得有点乱,在这里,我以easy ui的登录界面为例来说一下怎样用Json实现前后台的数据交互 使用Json,首先需要导入一些jar包,这些资源可以在网上下载到 ...

  6. Struts2+JQuery+JSON实现异步交互

    1.环境 jquery:jquery-1.9.0.min.js struts2:基本包就不说了,就说说应用json的包,主要有struts2-json-plugin-2.3.8.jar json:js ...

  7. struts2+jquery +json实现异步加载数据,亲测(原创)

    //初始加载页面时 $(document).ready(function(){ //为获取单个值的按钮注册鼠标单击事件 $("#getMessage").click(functio ...

  8. Struts2+jQuery+Json零配置实现ajax

    (一)Jsp页面代码 <%@ page language="java" import="java.util.*" pageEncoding="U ...

  9. 【转】Struts2中json插件的使用

    配置注意点: 在原有Struts2框架jar包的引入下,需要额外多加一个Json的插件包(struts2-json-plugin-2.3.7.jar) 在struts.xml配置文件中,包需要继承js ...

随机推荐

  1. yii 初步安装

    第一步: window下点击>开始 >运行CMD命令. 第二步:进入Yiic文件的目录   (例如在D盘里面 D:/yii/framework) 第三步:D:\yii\framework& ...

  2. LintCode Edit Distance

    LintCode Edit Distance Given two words word1 and word2, find the minimum number of steps required to ...

  3. python 后台爆破工具(多线程)

    非阻塞 q.put(item) 写入队列,timeout等待时间 q.put_nowait(item) 相当q.put(item, False) threads多线程     首先导入threadin ...

  4. linux的一些与关机和重启相关的命令

    runlevel 查看系统级别 cat /etc/inittab 修改系统默认运行级别 logout 退出登录

  5. int类型究竟占几个字节

    我最近也在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节.后来,别人查了The C Programming language这本书,里面有一句话是这样的: Ea ...

  6. [摘抄]iOS App icon、启动页、图标规范

    以下内容都是我在做App时通过自己的经验和精品的分析得来的,希望会帮助到你.但是有时个别情况也要个别分析,要活学活用. 一. App  Icon 在设计iOS App Icon时,设计师不需要切圆角, ...

  7. [转]DB2 load参数

    本文持续更新,LOAD如何提高parallelism.LOAD SHRLEVEL CHANGE的性能提高. =========================== Every once in a wh ...

  8. el表达式无法获取springmvc的model封装好的数据之解决方法

    近日碰到奇怪的问题,应该挺好解决的,可是就是卡住我两天 下面我来描述一下问题 用的是springmvc,自然需要controller,假设我现在所有的配置都是对的. controller代码 @Req ...

  9. (转) Deep Learning Resources

    转自:http://www.jeremydjacksonphd.com/category/deep-learning/ Deep Learning Resources Posted on May 13 ...

  10. js中的this指针(五)

    js中的函数有一个很有意思的地方,即函数自身也方法. apply方法让我们可以建立一个参数数组并用其来调用函数. apply方法接受两个参数,第一个是将被绑定给 this 的值.第二个就是一个参数数组 ...