侯体宗的博客
  • 首页
  • Hyperf2.1版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

前端  /  管理员 发布于 2年前   116

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的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


  • 上一条:
    div css nowrap无换行
    下一条:
    Ajax跨域问题及解决方案(jsonp,cors)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • TP(3/5)
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • uni-app在详情页中给电话信息添加点击拨打电话的功能按钮(0个评论)
    • uni-app开发小程序搜索功能及添加搜索历史记录、添加热门搜索关键词功能demo(0个评论)
    • uni-app开发小程序使用uni.getLocation()实现页面即时获取当前定位信息demo(1个评论)
    • uni-app开发小程序实现列表页条件筛选显示功能demo(0个评论)
    • vue+elementui实现百度地图api滑上列表显示位置信息(0个评论)
    • 近期文章
    • redis安全配置之修改端口、添加密码流程步骤及启动使用(0个评论)
    • PHP + Memcache实现简单的统计当前在线人数功能(0个评论)
    • Thinkphp5.1框架中实现Session+Redis会话共享流程步骤(0个评论)
    • go语言中使用Signbit()函数判断一个整数是正数或负数(0个评论)
    • 删库跑路之一链家程序员删除公司9TB数据被判7年,望各大码农警之!(0个评论)
    • Laravel角色和权限:拦截器Gates和策略Policies的解释(0个评论)
    • Laravel 9.12版本发布(0个评论)
    • go语言中实现把数据写入文件函数WriteFile()编写(0个评论)
    • go语言之如何加入字符串?(0个评论)
    • go语言之以x因子的倍数重复一个字符(0个评论)
    • 近期评论
    • 博主 在

      hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 @路过的靓仔:cdn静态资源被墙,已修复..
    • GGGGGGGGG 在

      layui框架常用输入框介绍中评论 写的很好解决问题..
    • 路过的靓仔 在

      hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 剩下好多 wait 状态的..
    • 激光豆芽 在

      为什么你不能安逸?国内996为什么没有国外955香?中评论 国内现在无意义的内卷太多了..
    • 激光豆芽 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 厉害了..
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客