- 浏览: 486212 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1338这里主要是为了使用ehcache,具体表现就是我们显 ... -
Jackson入门学习
2014-02-17 17:06 2590参考资料: MkYong-Jackson参考 ... -
struts2和json的集成
2013-10-09 14:55 1584参考资料: http ... -
spring和struts2集成的一些认识
2013-09-25 22:29 1676注:通常我们的action都要继承ActionSu ... -
模拟struts2的拦截器的流程
2013-09-16 00:06 989package com.tch.test.str ... -
struts1和struts2的流程区别
2013-08-15 13:25 1593Struts1和struts2的工作流程 ... -
在Struts2中使用ValueStack、ActionContext、ServletContext、request、session
2013-08-08 14:09 1256在Struts2中使用ValueS ... -
struts2的struts.properties配置文件详解
2013-04-23 14:15 1014struts.action.extension ... -
总结一下这次用ajax/json实现SSH
2013-03-20 16:16 4659首先最简单的来说: 引入struts2-json-plu ... -
马士兵 struts2 笔记
2013-02-01 09:42 1548转自: 马士兵 struts2 笔记 01 Strut ... -
json eval
2012-12-28 09:24 1073http://www.jb51.net/article/21 ... -
Struts2文件下载、上传
2012-12-27 16:31 1041上传: Action: ... -
Struts2 Action间如何传值
2012-12-07 09:19 1077方法一:使用result type="redirec ... -
关于json的操作 jsonArray---jsonObject
2012-12-06 13:38 1828Json-lib使用——JSONObject与JSONArra ...
相关推荐
该资源是使用struts2框架进行操作,返回json格式数据,前台通过ajax提交内容。
非常全的json各种类型数据处理方法 strut2.3+jquery +ajax+json
Struts2+JSON 实现AJAX 返回对象和列表
struts2+json+jquery实现ajax数据的存取
1.直接导入Myeclipse直接在tomcat上发布即可运行, http://localhost:8090/StrutsAjax/ 2.附带超级详细的教程
1、将struts2的json插件加入web工程的lib,jsonplugin的下载地址:http://code.google.com/p/jsonplugin/downloads/list
学会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....
最简单的:Struts2+JSON+JQUERY+AJAX 完整DEMO源代码,相信一定是你此刻最想找的!
struts2+jQuery+json实现AJAX.zip
Struts2+JQuery+JSON实现AJAX
struts2+easyUI+ajax+json用户登验证,代码没问题,可运行,适合初学者理解原理!
struts+json+ajax结合开发,及struts标签的使用文档
这是前台用jsp页面,并应用jquery、easyui、ajax、struts2技术,以json数据格式传输的一个登录例子
Struts2+JSON_实现AJAX_返回对象和列表
struts+jquery+json+ajax.pdf
struts2+ajax+json四级联动struts2+ajax+json四级联动
Struts2与AJAX结合的学习,包括JSON数据,还包括AJAX的dw框架的学习,包括实际易懂的例子。
Struts+Jquery+Ajax+Json应用实例,前端引入jquery,后台使用struts框架。前端js调用后台action,并将后台返回的json数据进行解析,设置web页面