- 浏览: 244354 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
di1984HIT:
写的不错。
使用JDBC进行批处理 -
huyuran:
...
使用JDBC进行批处理 -
chenbo0928:
[url][/url][img][/img][*]引用 ...
Removing a detached instance -
mousepc:
gklovejava 写道Utility method to ...
eclipse中的get/set功能的一个bug -
gklovejava:
Utility method to take a string ...
eclipse中的get/set功能的一个bug
首先,我的例子是从这里改的:
http://www.blogjava.net/max/archive/2007/06/12/123682.html
他用的json的jar包是别人写的,我用的Jar包是struts提供的struts2-json-plugin-2.1.8.1.jar
用到的jar包在附件中。
public class AjaxAction extends ActionSupport { private static final long serialVersionUID = -5009042081262340542L; private int bookId; private String title; private double price; private List<String> comments; private transient String secret1; private String secret2; @JSON(name = "ISBN") public int getBookId() { return bookId; } public void setBookId(int bookId) { this.bookId = bookId; } public List<String> getComments() { return comments; } public void setComments(List<String> comments) { this.comments = comments; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } @Override public String execute() throws Exception { bookId = 15645912; title = "Max On Java"; price = 0.9999d; comments = new ArrayList<String>(3); comments.add("It's no bad!"); comments.add("WOW!"); comments.add("No comment!"); secret1 = "You can't see me!"; secret2 = "I am invisible!"; return SUCCESS; } }
以上代码值得注意的是,通过@JSON的JAVA注释(Annotation),我们可以改变JSON结果的属性名称,另外带有transient修饰符与没有Getter方法的字段(field)都不会被串行化为JSON。
struts.xml:
<?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> <package name="Struts2_AJAX_DEMO" extends="json-default"> <action name="ajaxAction" class="AjaxAction"> <result type="json" /> </action> </package> </struts>
上面配置文件的“package”元素和以往不同的是,它扩展了“json-default”而不是“struts-default”。“json-default”是在struts-json-plugin.xxx.jar包里的struts-plugin.xml中定义的。
发布运行应用程序,在浏览器中键入:http://found.mshome.net:8888/StrutsAjax/ajaxAction,出现下载文件对话框,原因是JSON插件将HTTP响应(Response)的MIME类型设为“application/json”。把文件ajaxAction下载下来,用记事本打开,内容如下:
{"ISBN":15645912,"comments":["It's no bad!","WOW!","No comment!"],"price":0.9999,"title":"Max On Java"}
对了,我的web.xml中是这样配置的:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
所以访问链接和上面那个人的例子不太一样。
html页面中这样的:大部分内容都和上面那个人的例子一样,只有url不同。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Json.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> var bXmlHttpSupport = (typeof XMLHttpRequest != "undefined" || window.ActiveXObject); if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) { function XMLHttpRequest() { var arrSignatures = [ "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ]; for ( var i = 0; i < arrSignatures.length; i++) { try { var oRequest = new ActiveXObject(arrSignatures[i]); return oRequest; } catch (oError) { /*ignore*/ } } throw new Error("MSXML is not installed on your system."); } } function retrieveBook() { if (bXmlHttpSupport) { var sUrl = 'ajaxAction'; var oRequest = new XMLHttpRequest(); oRequest.onreadystatechange = function() { if (oRequest.readyState == 4) { var oBook = eval('(' + oRequest.responseText + ')'); var bookHolder = document.getElementById('bookHolder'); var sBook = '<p><b>ISBN: </b>' + oBook.ISBN + '</p>'; sBook += ('<p><b>Title: </b>' + oBook.title + '</p>'); sBook += ('<p><b>Price: </b>$' + oBook.price + '</p>'); sBook += ('<b><i>Comments: </i></b><hr/>'); for (i = 0; i < oBook.comments.length; i++) { sBook += ('<p><b>#' + (i + 1) + ' </b>' + oBook.comments[i] + '</p>'); } bookHolder.innerHTML = sBook; } }; oRequest.open('POST', sUrl); oRequest.send(null); } } </script> </head> <body> <input type="button" value="Retrieve Book" onclick="retrieveBook()" /> <div id="bookHolder"></div> </body> </html>
http://found.mshome.net:8888/StrutsAjax/Json.html
自己访问一下你自己的网页试试。
发表评论
-
eclipse中的get/set功能的一个bug
2012-03-08 15:16 4943今天发现一个问题,页面中的值一部分不能传到后台(用的strut ... -
struts2使用jQuery Ajax简单配置
2012-02-20 09:59 1468写的比较简单。 jsp 页面: javascript部分: ... -
struts双层iterator嵌套
2012-02-15 19:14 2003有点乱,没有修改,直接贴的自己的代码,有用到的自己看吧。 ... -
struts2的actionerror,actionmessage,fieldmessage
2011-11-15 18:50 657不知道为什么,把<s:actionError /> ... -
批量checkbox提交问题
2011-10-07 01:48 847<form method="post&q ... -
struts给result添加多个参数问题
2011-09-22 21:41 1234<result name="success&q ... -
There is no Action mapped for namespace /xxx and action name xxxAction
2011-09-21 15:55 1072错误原因查找: 1. 查看你的struts.xml 文件是否 ... -
给struts 的标签s:url加参数
2011-09-05 09:34 889有时候我们需要通过javascript来执行一些action。 ... -
project不能完全删除 提示undo,abort等
2011-09-04 22:00 1237使用struts 2做project的时候,做完例子之后不能删 ... -
struts 2提交集合数据做法
2011-08-30 16:25 980直接用例子说明: 1. JSP页面上的内容: Action ... -
s:fielderror和s:actionerror
2011-08-26 09:48 1423昨天出了个问题,action类的set/get方法都执行 ... -
struts2 使用数组批量提交数据
2011-08-25 12:01 5790首先是数组数据批量显示的问题。即由一个action到一个jsp ... -
struts2的一个action执行两次的问题
2011-08-19 17:11 2915今天做了一个删除action,老是出问题,加了断点测试一下,原 ... -
关于提交时js验证的一个问题
2011-07-21 23:08 742<%@ page language="j ... -
AJAX 连接数据库实例
2011-05-09 23:00 1359本例子连接的是ORACLE数据库。 -
一个ajax例子
2011-05-02 14:23 746<!DOCTYPE HTML PUBLIC &qu ... -
一个ajax例子(用数据库)
2011-04-23 18:38 619就是一个判断用户名是否已经注册的小例子。通过数据库。 -
Ajax动态表格,可适时添加行、删除行、复制行
2011-03-21 16:06 1039<!DOCTYPE html PUBLIC &qu ...
相关推荐
在这里,我们定义了一个名为`ajaxAction`的Action,指向`AjaxAction`类,并设置其结果类型为`json`。 综上所述,通过以上步骤,我们已经在Struts2中实现了使用Ajax获取并展示JSON数据的功能。这个过程包括了引入...
Struts2、JSON和AJAX是Web开发中的关键技术,它们在构建动态、交互式的Web应用程序中发挥着重要作用。...在"struts2jsonajax"项目中,开发者将学习到如何将这三个强大的工具结合在一起,构建出强大的Web应用程序。
在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
总的来说,"struts2ajax"项目展示了如何在Struts2框架下,结合jQuery的Ajax功能,实现页面的异步数据交互。通过这个项目,你可以学习到Struts2的Action配置、Ajax请求的发送与接收、以及前端和后端的数据处理。这将...
为了正确整合这些技术,开发者需要了解如何配置Struts2的Action和结果类型,熟悉JSON对象的构造和解析,以及掌握基本的Ajax编程技巧。此外,良好的错误处理和调试能力也是必不可少的。当所有这些元素都正确配置和...
在这个例子中,所有AjaxAction的属性都会被包含在返回的JSON中。 在Action类中,可能有一个方法处理AJAX请求,如下: ```java public class AjaxAction { private String message; public String execute() { /...
在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...
在Struts2中,Ajax和JSON技术的结合使得前后端交互变得更加高效和实时,为用户提供了更好的体验。现在我们来深入探讨这些知识点。 首先,`Ajax`(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况...
Struts-AJAX-JSON-Struts 包是基于经典的Struts框架,为了实现AJAX(异步JavaScript和XML)和JSON(JavaScript Object Notation)交互功能而设计的一组库和资源集合。这个包通常包含了Struts框架的核心组件,以及...
标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...
在这个"struts2 json ajax示例 google提示"中,我们将探讨如何在Struts2框架中利用JSON和AJAX技术实现Google搜索建议那样的动态数据加载功能。 首先,我们需要在Struts2项目中集成JSON插件。Struts2 JSON插件提供了...
public class AjaxAction extends ActionSupport { public String execute() { Map, Object> result = new HashMap(); // 执行业务逻辑... result.put("status", "success"); result.put("message", "数据获取...
Struts和Ajax是两种在Web开发中常用的框架和技术,它们结合使用可以构建出高效、动态且用户友好的应用程序。在本篇文章中,我们将深入探讨Struts与Ajax的整合及其在增删查改(CRUD)操作中的应用。 首先,让我们...
2. **创建AjaxAction**:在Java后端,`AjaxAction`需要实现业务逻辑并返回JSON数据。例如,它可能从数据库获取数据,然后将数据转化为JSON对象。 ```java public class AjaxAction extends ActionSupport { ...
总结起来,将jQuery的AJAX与Struts2结合,可以通过JSON对象数组进行前后端的数据交互。在前端,利用`$.ajax()`发送JSON数据;在后端,Struts2 Action接收并处理这些数据。这种通信方式在现代Web应用中非常常见,因为...
2. `AjaxAction.java`: 实现了处理Ajax请求的Struts2 Action类。 3. `index.jsp`: 主页面,包含了发送Ajax请求的jQuery代码。 4. `script.js`: 包含处理Ajax响应的jQuery脚本。 5. 可能还有其他资源文件如CSS样式表...
**AjaxStruts2Json实例详解** 在Web开发中,用户界面的实时性和互动性变得越来越重要,这使得异步更新技术如Ajax(Asynchronous JavaScript and XML)被广泛应用。Ajax允许网页在不重新加载整个页面的情况下与...
Struts2、JSON、Ajax 和 jQuery 是Web开发中的四个关键技术,它们共同构建了现代Web应用程序的数据交互和用户界面交互的核心部分。 Struts2 是一个基于MVC(Model-View-Controller)架构的Java Web框架,它使得...
通过将Struts2与JSON整合,可以轻松地与AJAX技术结合,实现前后端数据的实时交互。例如,在前端使用jQuery等库发起AJAX请求,获取或发送JSON格式的数据,而在后端,Struts2框架则能够无缝处理这些JSON数据,从而构建...