prototype+json+struts2创建简单的ajax应用

保姆级教程:用Smaart7和你的USB声卡搞定现场音响系统调试(附频谱与延时测试避坑指南) 本文提供Smaart7与USB声卡协同工作的现场音响系统调试指南,涵盖硬件连接、频谱分析、延时校准等关键步骤。通过详细的操作流程和常见问题解决方案,帮助音响工程师快速掌握专业测量技术,确保演出音质达到最佳状态。 阅读详情
显示页面
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  3. <html>
  4.   <head>
  5.     <title>test</title>
  6.     <meta http-equiv="pragma" content="no-cache">
  7.     <meta http-equiv="cache-control" content="no-cache">
  8.     <meta http-equiv="expires" content="0">    
  9.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  10.     <meta http-equiv="description" content="This is my page">
  11.     <!--
  12.     <link rel="stylesheet" type="text/css" href="styles.css">
  13.     -->
  14.   </head>
  15.     <script type="text/javascript" src="js/common/prototype.js"></script>
  16.     <script language="javascript" type="text/javascript">
  17.         function getJson()
  18.         {
  19.              var url = 'JSONExample.action';
  20.              var pars = '';
  21.              var myAjax = new Ajax.Request(url,{
  22.                  method:'get',
  23.                  encoding:'UTF-8',
  24.                  parameters:pars,
  25.                  onComplete:function(json){
  26.                      var JSONobj=eval('('+ json.responseText +')');
  27.                      var html="" ;
  28.                      var menuid="";
  29.                      
  30.                      html += "<li>" + JSONobj.newName +"</li>";
  31.                      
  32.                      var ints = JSONobj.ints; 
  33.                      for (var i=0; i< ints.length; i++){
  34.                         html += "<li>" + ints[i] +"</li>";
  35.                      }
  36.                      
  37.                      var map = JSONobj.map; 
  38.                      for(array in map){
  39.                         html += "<li>" + array + ":" + map[array] +"</li>";
  40.                      }
  41.                      
  42.                      $("item").innerHTML=html;
  43.                  }
  44.              });
  45.       
  46.         }
  47. </script>
  48.     <body>
  49.       <input type="button" name="button" id="button" onclick="getJson()"value="点击测试">
  50.       <div id="item"></div>
  51.     </body>
  52. </html>

struts.xml配置文件
  1.     <package name="example"  extends="json-default">  
  2.       <action name="JSONExample" class="jSONExample" method="executeJson">  
  3.          <result type="json"/>  
  4.        </action>  
  5.     </package>   
这里使用到了json struts2结合的插件,请自己去下载那个jar包


action
  1. package action;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import com.googlecode.jsonplugin.annotations.JSON;
  5. import com.opensymphony.xwork2.ActionSupport;
  6. /**
  7.  *  @author 王盛武 <a href="sinlff@163.com"/> 
  8.  *  @date Aug 1, 200812:10:35 PM
  9.  */
  10. public class JSONExample extends ActionSupport {
  11.     /**
  12.      * 
  13.      */
  14.     private static final long serialVersionUID = 4588482034890372410L;
  15.     // 封装请求参数的三个属性
  16.      //format=  例如"yyyy-MM-dd'T'HH:mm:ss"。 
  17.     private String field1;
  18.     private transient String field2;
  19.     
  20.     private String field3;
  21.     // 封装处理结果的属性
  22.     private int[] ints = { 10, 20 };
  23.     @SuppressWarnings("unchecked")
  24.     private Map map = new HashMap();
  25.     private String customName = "custom";
  26.     @SuppressWarnings("unchecked")
  27.     public String executeJson() {
  28.         map.put("name1", "sinlff1");
  29.         map.put("name2", "sinlff2");
  30.         map.put("name3", "sinlff3");
  31.         return SUCCESS;
  32.     }
  33.     
  34.     // 三个请求参数对应的setter和getter方法
  35.     @JSON(serialize = false) //format
  36.     public String getField1() {
  37.         return field1;
  38.     }
  39.     public void setField1(String field1) {
  40.         this.field1 = field1;
  41.     }
  42.     @JSON(serialize = false)
  43.     public String getField2() {
  44.         return field2;
  45.     }
  46.     public void setField2(String field2) {
  47.         this.field2 = field2;
  48.     }
  49.     @JSON(serialize = false) //format
  50.     public String getField3() {
  51.         return field3;
  52.     }
  53.     public void setField3(String field3) {
  54.         this.field3 = field3;
  55.     }
  56.     public void setCustomName(String customName) {
  57.         this.customName = customName;
  58.     }
  59.     // 封装处理结果的属性的setter和getter方法
  60.     public int[] getInts() {
  61.         return ints;
  62.     }
  63.     public void setInts(int[] ints) {
  64.         this.ints = ints;
  65.     }
  66.     @SuppressWarnings("unchecked")
  67.     public Map getMap() {
  68.         return map;
  69.     }
  70.     @SuppressWarnings("unchecked")
  71.     public void setMap(Map map) {
  72.         this.map = map;
  73.     }
  74.     // 使用注释语法来改变该属性序列化后的属性名
  75.     @JSON(name = "newName")
  76.     public String getCustomName() {
  77.         return this.customName;
  78.     }
  79. }




Research Proposal:自动驾驶 行人运动预测 Research Proposal about Pedestrian/Cyclist Motion Prediction for Self-Driving Vehicles   If I can be provided with the opportunity to conduct PhD research in pedestrian/cyclist motion prediction for... 阅读详情

相关推荐

保姆级教程:用Wireshark抓包分析10M汽车以太网PLCA轮询机制(附pcap文件)

本文详细介绍了10M汽车以太网PLCA轮询机制的抓包分析与性能优化方法。通过Wireshark实战教程,解析PLCA协议的时分多址特性、总线型拓扑结构及带宽优化策略,帮助工程师提升车内网络的可靠性和实时性。附赠pcap文件供实践参考。

wdx01234567的博客 239

Strtus2.0+JSON+prototype AJAX的实现

相关名词解释:什么是JSON: JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。它便于人类读写,也易于机器分析和生成。它基于标准的ECMA-262第三版(1999年12月)的JavaScript编程语言的一个子集。  JSON是一种完全独立于语言的文本格式,但是它使用对于C家族语言(包括C、C++、C#、Java、JavaScript、Pe

cool_rain_man的专栏 2363

Windows 高精度计时器:QueryPerformanceCounter 原理、陷阱与最佳实践

本文深入解析Windows高精度计时器QueryPerformanceCounter(QPC)的工作原理、常见陷阱及最佳实践。QPC通过读取硬件计时器(如TSC)实现微秒级精度,适用于游戏开发、音视频处理等高性能场景。文章详细探讨了多核同步、动态频率调整等挑战,并提供了优化代码示例和性能对比数据。

weixin_33391446的博客 268

struts2之使用JSON插件实现Ajax(使用JSON插件)

struts2之使用JSON插件实现Ajax(使用JSON插件)

fhd001的专栏 1567

【华为OD机试】创建二叉树(python, java, c++, js)

请按下列描达构建一颗二叉树,并返回该树的根节点: 1、先创建值为-1的根结点,根节点在第0层; 2、然后根据operations依次添加节点: operations[i] = [height, index] 表示对第 height 层的第index 个节点node, 添加值为i 的子节点: 若node 无「左子节点」。则添加左子节点; 若node 有「左子节点」但无「右子节点」,则添加右子节点: 否则不作任何处理。 height、index 均从0开始计数;index 指所在层的创建顺序。

A_D_I_D_A_S的博客 188

30. 用GPT-4自动生成测试用例的完整流程

利用GPT - 4生成测试用例面临的主要问题包括:如何准确地将软件需求转化为GPT - 4能够理解的输入提示,以确保生成的测试用例覆盖所有关键功能;如何评估生成的测试用例的有效性和充分性;如何处理生成的测试用例中的错误或不合理之处;以及如何将生成的测试用例集成到现有的测试框架中。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 472

Struts 2中启用json ajax支持

   JSON插件提供了一种名为json的ResultType,一旦为某个Action指定了一个类型为json的Result,则该Result无需映射到任何视图资源。因为JSON插件会负责将Action里的状态信息序列化成JSON格式的数据,并将该数据返回给客户端页面的JavaScript。    简单地说,JSON插件允许我们在JavaScript中异步调用Action,而且Action不再需要

cool_rain_man的专栏 1083

RT-DETR-R18 的轻量化 Trick:剪枝与量化在模型中的应用

RT-DETR-R18轻量化技术通过结构化剪枝、混合精度量化和知识蒸馏的组合优化,实现了显著模型压缩效果。摘要如下: RT-DETR-R18模型通过创新轻量化技术组合,在保持46.2% mAP精度的前提下,将模型大小压缩至2.1MB(压缩率78%),计算量降至3.2 GFLOPs(减少78.2%),实现移动端28ms实时推理(加速37.8%)。核心技术包括:1)渐进式结构化剪枝系统,通过L1范数重要性评估和动态剪枝调度;2)混合精度量化策略,对关键层保留FP16精度;3)教师-学生知识蒸馏框架保持模型表达能

走向CTO的路上... 1188

ajax dadatype属性,JSON实例(AJAX+STRUTS )

前段时间做项目用到了json,今天我抽时间写了一个struts+ajax+json的例子.个人感觉ajax+json在很大程度上降低了网络和服务器的IO,是一个很不错的组合!1:json的lib我用的是json-lib-2.1-jdk15.jar,它可以在2:struts用的是1.23:用到了js第三方prototype.js,主要用它包装的ajax对象,大家也没必要用这个,可以直接在js里用XM...

weixin_36060465的博客 390

国科大作业考试资料《人工智能原理与算法》2024新编-第三次作业整理

1. 你的目标是让机器人走出迷宫。机器人面朝北,开始位置在迷宫中间。你可以让机器人转向面朝东、南、西或北。你可以让机器人向前走一段距离,在撞墙之前它会停步。 (1)将问题形式化。状态空间有多大? (2)在迷宫中游走,在两条路或更多路交叉的路口可以转弯。重新形式化这个问题。现在状态空间有多大? (3)从迷宫的任一点出发,我们可以朝四个方向中的任一方向前进直到可以转弯的地方,而且我们只需要这样做。重新对这个问题进行形式化。我们需要记录机器人的方向吗? 2. 传教士和野人问题

MatsumotoChrikk 984

20、七鳃鳗繁殖与早期生活史:从水质到养殖的全面解析

本文全面解析了七鳃鳗的繁殖与早期生活史,重点探讨了水质对幼体生存的影响、养殖密度与生长关系、变态过程的时间与大小特征,以及人工繁殖在濒危物种恢复和入侵物种控制中的应用。同时,文章分析了大规模养殖面临的挖掘基质需求、空间限制、清洁管理、疾病防控及微生物环境等挑战,并强调实验室养殖对科学研究和种群管理的重要意义。随着技术进步,未来有望扩展更多物种的繁殖研究,揭示七鳃鳗生物学的进化奥秘,实现资源的可持续利用。

l6m7n8的博客 115

Ajax请求数据提示org.apache.struts2.json.JSONException错误

使用Ajax请求Action中数据,网页提示“org.apache.struts2.json.JSONException”与“java.sql.SQLException: Positioned Update not supported.”错误,如图:   笔者发现在程序中确实使用了Ajax与Action交互数据,web页面代码如下所示: $(function() { $.po

lemmata的博客 3800

自动分割和测量混凝土钢筋的思路与原理

该文提出了一种基于PCL库的点云处理系统,用于自动测量混凝土结构中钢筋的几何参数。系统采用多阶段处理流程:首先通过RANSAC算法提取地面并旋转对齐;接着使用区域生长算法分割混凝土结构;然后采用RANSAC线检测识别钢筋,按方向分类;最后通过圆柱拟合和坐标差计算获得钢筋间距、直径和高度差等参数。文章详细介绍了各模块的核心算法,包括地面检测、坐标变换、钢筋识别和几何计算等关键步骤,并分析了主要参数的敏感性。系统通过分层处理和坐标变换确保测量精度,为混凝土结构的无损检测提供了自动化解决方案。

weixin_45196569的博客 679

Struts2+JSON+prototype使用说明

Ajax技术用了一段时间了,用了几个ajax框架,也写过没有用ajax框架的程序,总体感觉prototype简单易用,因此写一下使用说明 1.下载Strutes2的JSON插件:jsonplugin-0.19.jar 2.添加一个JSON的action import com.googlecode.jsonplugin.annotations.JSON;import com.opensymph...

largestone 154

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Struts2中JSON插件的使用及出现的问题

       Struts2提供了对Ajax的支持,其中JSON是Ajax插件的一种,该插件将Action属性直接序列化为JSON对象后返回给客户端,从而使客户端页面可以直接访问到Action属性。        在Struts2中使用JSON插件,首次将json插件包导入进去,接着实现Action逻辑,在struts.xml中配置该Action,然后实现JSP页面。下面来实现一个小例子,来完成...

一半海水一半火焰 333

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Struts2 ajax

基于不重新发明轮子的原则,Struts 2并没有开发新的AJAX框架,而是使用时下Java EE平台中比较流行的AJAX框架——Dojo和DWR。 最近在Musachy Barroso等同志的无私奉献下,开发了Struts 2的JSON插件(Plugin),极大地方便了我们输出JSON结果(Result)。这些框架都是开发Ajax不错的选择,项目中可选择使用。一、使用Ajax主题提交表单1、J

xymyeah 2938

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

prototype+json+struts2 ajax应用

&lt;%@page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;html&gt; &lt;head&gt;

wiseboyloves 116

JSON和Prototype实现Ajax

介绍下struts2中json和prototype比较不错的搭配:struts2的xml中<constant name="struts.action.extension" value="v"/><package name="jsonPackage" extends="json-default,struts-default" namespace="/ajax/...

weixin_34101784的博客 137

struts2 prototype ajax集成

&lt;!--index.jsp--&gt; &lt;script type="text/javascript" src="js/prototype.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;script&gt; function getHTML() {

MMY 118

Struts 2中使用JSon ajax支持

JSON插件提供了一种名为json的ResultType,一旦为某个Action指定了一个类型为json的Result,则该Result无 需映射到任何视图资源。因为JSON插件会负责将Action里的状态信息序列化成JSON格式的数据,并将该数据返回给客户端页面的 JavaScript。   简单地说,JSON插件允许我们在JavaScript中异步调用Action,而且Action不...

闲云野鹤 163

使用struts2返回json

UserAction: package com.test.user.action; import java.util.List; import com.test.user.domain.User; public class UserAction{ private List UserList; private User user; /** * 查询所有

kebing1990的专栏 511

学习struts2+json简单示例(适于初学json者)

一、搭建struts2环境。     无非就是web.xml、struts.xml文件的配置,添加struts2所需要的jar包。 二、配置json环境。    下载jsonplugin.jar(我用的是jsonplugin-0.30.jar)、json.js、prototype.js。     并将jsonplugin.jar放到\WebRoot\WEB-INF\lib目录下,jso

1516

Json+ajax+struts

前段时间做项目用到了json,今天我抽时间写了一个struts+ajax+json的例子. 个人感觉ajax+json在很大程度上降低了网络和服务器的IO,是一个很不错的组合! 1:json的lib我用的是json-lib-2.1-jdk15.jar,它可以在 2:struts用的是1.2 3:用到了js第三方prototype.js,主要用它包装的ajax对象,大家也没必要用这个,可以直接在js

lilp_ndsc的专栏 2176

第一个Ajax例子 Ajax+struts2

1.将jsonplugin0.34.jar包拷入web-inf/lib目录下 切记,json Jar包和Struts2的版本有冲突 Json3.3对struts2.1.* Json 3.2对struts2.0 2.修改struts.xml文件中的package name="strutspackage" extends="json-default"> package> 3

ht1093687505的专栏 723

Ajax------------ prototype+struts(json)

<br />用到1: javascript框架 prototype<br />2:struts json插件<br /><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <cons

ChinFeng的专栏 580

struts2,json,prototype异步请求

1、index.jsp &lt;%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD

张飞的IT专栏 130
上一篇: Ext2.1 + Struts2 实现简单的文件上传
下一篇: 0.2.149.30 版本的谷哥浏览器不支持load xml的解决办法
西兹兹
博客等级 码龄22年 21粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值