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. android沉浸式状态栏设置(4.4以上版本)

    其实设置比较简单,我用了小米和htc的几款机型都可以用. 主要代码就是这个(注意要在Activity的setContentView之前调用才行) /** * 开启沉浸式状态栏 * */ public ...

  2. ASP.NET MVC过滤器中权限过滤器ValidateAntiForgeryToken的用法(Post-Only)

    源参考:https://i.cnblogs.com/EditPosts.aspx?opt=1 用途:防止CSRF(跨网站请求伪造). 用法:在View->Form表单中:<%:Html.A ...

  3. Oracle笔记1-数据库概念

    数据库: 基本的概念:数据库管理系统(Database Management System,DBMS):管理数据的一个软件系统关系型数据库管理系统(RDBMS)数据库(Database):存放数据的磁 ...

  4. Android添加快捷方式

    private void addShortcutToDesktop() { Intent shortcut = new Intent("com.android.launcher.action ...

  5. sql指定插入自增长id的数据

    SET IDENTITY_Insert [Tag.V2].[dbo].[Members_EnAccount] ON; insert into [Tag.V2].[dbo].[Members_EnAcc ...

  6. C#的选择语句练习

    1.请输入一个数x,若x<1,则y=x:若1<=x<10,则y=2x-1:若x>=10,则y=3x-11,要求随意输入一个x值,求出y值. 2.输入问题[你有房子吗?],若回答 ...

  7. some simple recursive lisp programs

    1. Write a procedure count-list to count the number of elements in a list (defun count-list (numbers ...

  8. April Fools Day Contest 2014

    April Fools Day Contest 2014 A.C.H三道题目 ============================================================= ...

  9. HackerRank-Longest Subarray

    give an array and target value, find the max length of the subarray which sum of the elements is les ...

  10. Http中 Post和 Get的区别

    1.表面上的区别 1.GET在浏览器回退时,是无害的,而Post会再次提交请求 2.Get产生的Url地址会被Bookmark,而Post不会 3.Get请求会被浏览器主动Cache,而Post不会, ...