Struts2.5 利用Ajax将json数据传值到JSP的实例

所属分类: 网络编程 / JSP编程 阅读数: 1882
收藏 0 赞 0 分享

AJAX +JSON=》JSP

AJAX 

AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

JSON

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

利用Ajax将json数据传值到JSP

第一步:在你的Action中创建一个json数据

public class AjaxAction extends ActionSupport{
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
  private String result;
  public String getResult() {
    return result;
  }
  public void setResult(String result) {
    this.result = result;
  }
public String getjson() {
   JSONObject json = new JSONObject(); 
  json.put("name","张三");
    json.put("password","123456");
  result=json.toString();
  return SUCCESS;
}

第二步:编写struts.xml文件中的内容

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
  "http://struts.apache.org/dtds/struts-2.5.dtd">
  <struts>
  <!-- 设置开发者模式 修改action中的名字可以不用重启服务器 -->
  <constant name="struts.devMode" value="true"></constant>
  <!-- 只有在后缀中有(.do)的才经过,这个value可以自己修改 -->
  <constant name="struts.action.extension" value="do"></constant>
  <!-- 开启动态方法调用 -->
   <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
    <package name="default" extends="json-default" namespace="">
      <action name="ajax" class="com.action.AjaxAction" method="getjson">
      <result name="success">/ajaxjson.jsp</result>
      <result type="json" >
<!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
        <param name="root">result</param>
      </result>
    </action>
  </package>
  </struts>

凡是使用Struts2序列化对象到JSON的action,所在的package必须继承自json-default,注意,这里唯一的result,没有指定name属性。parm设置name=“root”表示局部刷新,返回根目录页面.

第三步:首先先了解Ajax的原理:这是用jQuery做的,需要引  js

function testCheck(num){
    $.ajax({
      type:"post",//提交方式
      url:"TestCheckServlet",//提交地址
      async:true,//是否异步请求
      dataType:"html",//返回类型
      data:{"num":num},//传过去的值
      success:function(data,textStatus){//成功执行的方法
        var json=eval("("+data+")");//将传过来的数据转json,也可以传过来就是json数据免得麻烦转
         alert(json.name);
      },
      error:function(){//失败执行的方法
        alert("error");
      }
    })
  }

JSON的传值方法还有很多,需要大家一点点的挖掘

以上这篇Struts2.5 利用Ajax将json数据传值到JSP的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

table中点击表头实现排序的功能示例介绍

获取上次点击的表头的名称和这次点击的表头的名称做比较,如果两者相同就按原先相反的顺序排列,否则新列升序排列
收藏 0 赞 0 分享

jsp防止跨域提交数据的具体实现

这篇文章主要介绍了jsp防止跨域提交数据的具体实现,需要的朋友可以参考下
收藏 0 赞 0 分享

解决jsp页面使用网络路径访问图片的乱码问题

这篇文章主要介绍了jsp页面使用网络路径访问图片的乱码问题的解决方法 ,需要的朋友可以参考下
收藏 0 赞 0 分享

在jsp页面如何获得url参数

这篇文章主要介绍了在jsp页面获得url参数的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

几种防止表单重复提交的方法

表单重复提交是在多用户Web应用中最常见的一个问题,很多场合都会遇到这种情况,下面与大家分享下防止表单重复提交的几种策略
收藏 0 赞 0 分享

struts2集成javamail发邮件示例详解

这篇文章主要介绍了struts2集成javamail发邮件示例,需要的朋友可以参考下
收藏 0 赞 0 分享

不让tomcat显示目录文件列表的配置方法

这篇文章主要介绍了不让tomcat显示目录文件列表的配置方法,这里需要修改conf/web.xml文件,需要的朋友可以参考下
收藏 0 赞 0 分享

jsp使用cookie存储中文示例分享

这篇文章主要介绍了jsp使用cookie存储中文示例,需要的朋友可以参考下
收藏 0 赞 0 分享

jsp中include指令静态导入和动态导入的区别详解

这篇文章主要介绍了jsp中include指令静态导入和动态导入的区别,通过示例和图文讲解可以更好的看出他们的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

jsp中文显示问号问题解决方法

jsp中想要输出的中文被显示成问号?在eclipse-windows- preferences中搜索jsp,Encoding选项中选择 Chinese,此问题便可解决
收藏 0 赞 0 分享
查看更多