- 浏览: 495564 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (271)
- json (6)
- hibernate (12)
- javascript (25)
- session cookie (2)
- struts2 (12)
- 数据库 (23)
- spring (25)
- freemarker (2)
- 其它 (17)
- ibatis (5)
- Web Service (5)
- java基础 (54)
- hessian (2)
- lucene (7)
- DWR (1)
- 导出excel (1)
- CSS (1)
- java 邮件 (5)
- SSH转载 (5)
- 文件断点 上传 (8)
- jQuery (7)
- ant (2)
- tuscany (5)
- maven (7)
- rsa (2)
- tomcat (2)
- svn (3)
- comet (2)
- log4j (2)
- linux (4)
- hadoop (1)
- 设计模式 (4)
- ssh (2)
- git (3)
- quartz (1)
- dubbo (2)
- mysql (2)
- 注解 (1)
- easyui (1)
- tree (1)
- 堆栈 (1)
- 泛型 (1)
- eclipse (1)
- annotation (1)
- mvc (3)
- shiro (1)
- Nexus (1)
- jackson (1)
- itext (1)
- mina (1)
- nio (1)
- ehcache (2)
- memcached (1)
- restful (2)
- mongodb (1)
- solr (1)
- zookeeper (1)
- redis (1)
- vpn (0)
- elastic (2)
- xxl-job (1)
最新评论
-
g_tao:
作者你好,你这个例子中服务端是跑在tomcat中吗
阿里巴巴dubbo处理文件上传下载 -
g_tao:
作者你好,能把整个项目给我发一份吗?guotao114@126 ...
阿里巴巴dubbo处理文件上传下载 -
tanmingjuntan:
楼上 本文提供的代码样例 和 你之前提供的例子有出入好多都没 ...
使用HttpURLConnection.setChunkedStreamingMode(10*1024);的时候,不同的参数导致文件上传损坏 -
dreamoftch:
dannielhome 写道请问下这个upload.exe是什 ...
断点文件上传流程 -
dannielhome:
请问下这个upload.exe是什么东西呢
断点文件上传流程
如果只需要返回一个字符串或其他文本信息,则: <result type="stream"> <param name="contentType">text/html</param> <param name="inputName">inputStream</param> </result> 在action里面: public String login1() throws IOException{ ByteArrayOutputStream bos = new ByteArrayOutputStream(); bos.write("login".getBytes()); inputStream = new ByteArrayInputStream(bos.toByteArray()); return "success"; } 并且加上inputstream的get/set方法即可,在页面直接ajax的result就是结果 $.post("client!login1.action", { username: username, password: password }, function(result){ alert("Data : " + result); }); 方法1: <?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> <!-- 开发阶段设置 --> <constant name="struts.devMode" value="true" /> <constant name="struts.serve.static.browserCache " value="false" /> <constant name="struts.configuration.xml.reload" value="true" /> <!-- 开发阶段设置 --> <!-- <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"/> </interceptors> </package> --> <package name="/base" extends="struts-default" namespace="/base"> <result-types> <result-type name="json" class="org.apache.struts2.json.JSONResult" /> </result-types> <action name="Province" class="two.SupplyDetailAction" method="province"> <result type="json"> <!-- <param name="root">result</param> --> </result> </action> <action name="City" class="two.SupplyDetailAction" method="city"> </action> </package> <package name="ns" extends="struts-default" namespace="/p"> <action name="index"> <result type="freemarker" name="input">/index.ftl</result> </action> </package> </struts>
<html> <head> <script type="text/javascript" src="${base}/jquery.js"> </script> <script > $(document).ready(function(){ var province=$("#province"); var city=$("#city"); var provinceurl="${base}/base/Province.action"; $.post(provinceurl,{code:"province"},function(dataObj){ <#-- 因为在struts.xml中type="json" 所以后台action中的属性 会变为json类型的dataObj如{name:tch,age:22......} 所以在页面端通过对dataObj进行操作,如dataObj.name dataObj.age dataObj.provinces拿到的是一个后台的List,在前天则是一个对象数组,所以 通过遍历即可$.each(dataObj.provinces,function(index,value){})--> $.each(dataObj.provinces,function(index,item){ var tempOption = document.createElement("option"); tempOption.value = item.provinceId; tempOption.innerHTML = item.provinceName; province.append(tempOption); }); },"json"); province.change(function(){ if($("#province option:selected").val() ==""){ return; } city.empty(); city.append("<option value='-1'>请选择省份</option>"); var params={provinceCode:$("#province option:selected").val()}; $.post("${base}/base/City.action",params,function(dataObj){ $.each(dataObj.cities,function(index,item){ var tempOption = document.createElement("option"); tempOption.value = item.cityId; tempOption.innerHTML = item.cityName; city.append(tempOption); }); },"json"); }); }); </script> </head> <body> <form action="${base}/act.action" id="productForm" name="productForm" method="post"> <input type="text" onclick="ff();"> <div> 省份:<select name="province" id="province"> <option value="">请选择省份</option> </select> 城市:<select name="city" id="city"> <option>请选择城市</option> </select> </div> </form> </body> </html>
通过访问http://localhost:8080/WebTest/p/index.action访问index.ftl页面,页面加载完之后,已经完成了对省份的ajax请求,再改变省份的选择,就对城市也进行了ajax请求
但是这里仅仅实现了ajax请求json数据,其余的功能以及存在的问题还需自己修正和完善.
情况2:
如果:
<result type="json"> <param name="root">result</param> </result>
即加入了
<param name="root">result</param>
那么就要作出相应的修改,因为这句话的意思是说将ajax请求返回的数据存储在了result变量里面,所以,要在action里面加入string类型的result,添加get/set方法,并且在execute或其他相应的方法里面return success之前要对result赋值、初始化。
public String province() { Province p = new Province(); p.setProvinceId("1"); p.setProvinceName("河南"); provinces.add(p); Province p2 = new Province(); p2.setProvinceId("2"); p2.setProvinceName("河南2"); provinces.add(p2); //下面这两句话就是对result的初始化,即将要返回给页面的数据放在result中。。 JSONArray jsonArray2 = JSONArray.fromObject(provinces); this.result = jsonArray2.toString(); return SUCCESS; }
然后在页面里面
$.post(provinceurl,{code:"province"},function(msg){ //相应的在页面上,对于返回的数据要先进行处理,通过eval()将数据转化为json类型 dataObj = eval("("+msg+")"); $.each(dataObj,function(index,item){ var tempOption = document.createElement("option"); tempOption.value = item.provinceId; tempOption.innerHTML = item.provinceName; province.append(tempOption); }); },"json");
即可。
但是不建议使用方法2,因为这样多做了一些无用功
- WebTest.rar (50.8 KB)
- 下载次数: 3
发表评论
-
spring struts2 hibernate ehcache整合
2015-05-06 12:17 1374这里主要是为了使用ehcache,具体表现就是我们显 ... -
Jackson入门学习
2014-02-17 17:06 2633参考资料: MkYong-Jackson参考 ... -
struts2和json的集成
2013-10-09 14:55 1603参考资料: http ... -
spring和struts2集成的一些认识
2013-09-25 22:29 1704注:通常我们的action都要继承ActionSu ... -
模拟struts2的拦截器的流程
2013-09-16 00:06 1038package com.tch.test.str ... -
struts1和struts2的流程区别
2013-08-15 13:25 1622Struts1和struts2的工作流程 ... -
在Struts2中使用ValueStack、ActionContext、ServletContext、request、session
2013-08-08 14:09 1289在Struts2中使用ValueS ... -
struts2的struts.properties配置文件详解
2013-04-23 14:15 1042struts.action.extension ... -
总结一下这次用ajax/json实现SSH
2013-03-20 16:16 4695首先最简单的来说: 引入struts2-json-plu ... -
马士兵 struts2 笔记
2013-02-01 09:42 1572转自: 马士兵 struts2 笔记 01 Strut ... -
json eval
2012-12-28 09:24 1100http://www.jb51.net/article/21 ... -
Struts2文件下载、上传
2012-12-27 16:31 1064上传: Action: ... -
Struts2 Action间如何传值
2012-12-07 09:19 1101方法一:使用result type="redirec ... -
关于json的操作 jsonArray---jsonObject
2012-12-06 13:38 1859Json-lib使用——JSONObject与JSONArra ...
相关推荐
Struts2、JSON和AJAX是Web开发中的关键技术,它们的整合可以实现高效的数据交互和动态页面更新。本文将深入探讨这些技术以及如何在实际项目中整合它们。 **Struts2** 是一个基于MVC(Model-View-Controller)设计...
这个资源"struts2+json"显然涉及到在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,这是一种轻量级的数据交换格式,广泛用于前后端交互,特别是AJAX(Asynchronous JavaScript and XML)请求。...
这个实例结合了多个技术,包括Accordion布局、Servlet、Struts2以及JSON数据交互,以及Ext.tree.Panel组件,以创建一个功能丰富的用户界面。 Accordion布局是ExtJS中的一个布局管理器,它允许在一个区域内组织多个...
Struts2、JSON、Ajax 和 jQuery 是Web开发中的四个关键技术,它们共同构建了现代Web应用程序的数据交互和用户界面交互的核心部分。 Struts2 是一个基于MVC(Model-View-Controller)架构的Java Web框架,它使得...
### Struts2 + jQuery + JSON 实现Ajax 在现代Web开发中,Ajax技术因其能够实现网页的局部刷新而被广泛采用。本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. ...
Struts2、jQuery、JSON和Ajax是Web开发中常见的技术栈,它们共同为构建动态、交互式的用户界面提供了强大的支持。下面将详细解释这些技术及其在登录示例中的应用。 Struts2是一个基于MVC(Model-View-Controller)...
Struts2、JSON和Ajax是Web开发中的三个关键技术,它们共同构建了动态、交互式的用户界面,提高了用户体验。本文将详细解析这三个技术及其在实际应用中的整合。 **Struts2** 是一个开源的MVC(Model-View-Controller...
"Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...
### Struts2+JSON 实现 AJAX 返回对象和列表 #### 一、背景介绍 随着Web技术的发展,Ajax(Asynchronous JavaScript and XML)已经成为现代Web应用不可或缺的一部分。它通过后台与前端进行异步数据交换和操作,使...
学会struts+jq+ajax+json只要4步‵‵经过作者的总结超级简单 1. 导入struts2 及json包 asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1....
在前端,EXTJS使用Ajax请求调用Struts2 Action,接收返回的JSON数据,然后动态渲染UI,展示所有订单及其对应的客户信息。 总结来说,ExtJs + Struts2 + JSON 的组合提供了一种高效、灵活的方法来构建富客户端Web...
struts2+jQuery+json实现AJAX.zip
【标题】"ZTree+Struts2+ajax+json实现checkbox权限树"涉及的技术栈主要集中在前端的ZTree,后端的Struts2框架,以及数据交互中的Ajax和JSON。这个项目的核心目标是构建一个可复选的权限树形结构,用户通过勾选节点...
Struts2、JSON和JQuery是Web开发中的三个关键技术,它们常常被结合使用来构建高效、动态的用户界面。在本教程中,我们将探讨如何利用这些技术实现一个简单的验证功能。 首先,Struts2是一个基于MVC(Model-View-...
Struts2与AJAX结合的学习,包括JSON数据,还包括AJAX的dw框架的学习,包括实际易懂的例子。
当用户界面触发某个事件(比如点击按钮),jQuery会发起Ajax请求,Struts2 Action执行相关逻辑并生成JSON响应,最后jQuery将数据插入到网页中,完成一次完整的交互。 总结来说,这个例子展示了如何利用Struts2处理...