- 浏览: 186712 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
di1984HIT:
记录一下。嘿嘿
eclipse中关闭js报错的方法 -
di1984HIT:
谢谢,学习了
jdk输出带缩进格式xml的方法 -
雪狐狼:
为何,每次查询需要 构建datatable?
YUI DataTable 服务器端翻页与排序 -
lijunwyf41:
nd:"nd", // 表示已经发送请求的 ...
jqGrid <-- json --> spring,hibernate之服务器端分页,排序 -
yiyu:
最近不看YUI了,发现一个国产的前端框架,是金蝶出的,叫Ope ...
YUI 3 学习笔记(5)- Attribute类
发现spring 3已经对ajax支持的很好了,前端可以只使用html+jquery,后端
只使用spring再加上一种orm,两者之间用json交换数据就可以了,现在是放弃
jsp,struts这些已经显得累赘的技术的时候了。
出于这种想法,我做了个小试验,其中之所以选择jquery 1.3.2是因为jquery
ui 1.8还不是稳定版,而稳定版1.7是基于jquery 1.3+的。
1. 先从前台提交数据开始,关键代码如下:
其中customerInfo是一个form的id,该form包含两个text input,name分别为name和addr,
serializeObject是一个网上比较流行的将form数据组装成json对象的juery扩展,代码如下:
将json对象转成String是用的json2(http://www.json.org/js.html)的JSON.stringify,提交
是用的jquery的ajax功能,注意要把contentType设为'application/json',这是为了后台spring
将其自动转化为vo对象用的。
关于返回值后面再说。
2. 然后说说后台spring的接收。
后台主要的代码如下:
其中Controller,RequestMapping什么的就不多说了,简单的说就是前提交时指定的url(
customerInfo/new.do)就被spring转到这里来处理了,其中web.xml中spring的设置如下:
注意处理申请的函数的参数直接就是Customer对象(Customer是一个具有属性name和addr的vo),
而不是json字串,这里的关键是这样的,spring具有将数据转化后再交给controller的功能,spring 3
新增了对json的处理能力,是基于Jackson JSON Processor(http://jackson.codehaus.org/)的,
使用时要配置一下,在这个例子中默认的bean定义文件test-servlet.xml中这样写:
这样一来,spring在接收contentType为application/json的request时会自动将json字串间转换成期望
的java对象,同样,发送response时,contentType被设为application/json,并且将java对象转为json
字串。
3. 下面该说返回了
上面已经说到,spring自动将response进行json化,所以处理函数直接返回vo对象就可以了。
而在页面端,由于我们指定了dataType为json,所以jquery直接把接收到的json字串转成了javascript
对象,我们可以直接使用data.name的写法取得数据了。
简单吧,这样一来,开发中,可以由设计人员在需求分析的基础上专心用html制作页面,之后交到前端
开发人员手里,前端开发人员添加js代码,实现页面逻辑,后台人员专心于java,spring和orm,前后
端交换json数据就可以了。
欢迎拍砖啊,呵呵。
idea比eclipse好多少倍呢...但是收费 不一样白扯么(虽然现在有社区版了)
一直在用Idea,确实比eclipse强多了....没事,盗版呗,myeclipse也收费呢,谁买了,一样的
是啊 要高效多少倍呢...
光买Hprose就不少钱..
还得招会Hprose的程序员 又需要多少?
idea比eclipse好多少倍呢...但是收费 不一样白扯么(虽然现在有社区版了)
目前网络带来的评论给我的直观感受就是 1 2 都杯具...
不过我又想起另外一句话...
"把时髦的技术挂在嘴边,还不如把过时的技术记在心里。"
一个企业的oa需要seo么...
而且优秀的搜索引擎不会处理不了这些的
不优秀的正好屏蔽了...比如javaeye就把雅虎之流屏蔽了..
这里主要是考虑的前端和后端分开以及尽量少地使用各种技术(摒弃jsp和struts),后台验证还没考虑,你有什么好想法吗?
首先服务器端验证这个问题
我做的项目不少了...基本没用过服务器端验证..都是项目吗...没那种要求.
与数据库交互的验证也都是用ajax做的
至于如果一定要用..其实hibernate本身也提供了对数据校验的功能吧
虽然把数据校验放到那个位置不一定合适,,但是至少也算是一种选择吧
这里主要是考虑的前端和后端分开以及尽量少地使用各种技术(摒弃jsp和struts),后台验证还没考虑,你有什么好想法吗?
没有。因为没有找到好的后台验证框架 所以一直在用Struts2,如果有好用的验证框架 Struts2、SpringMVC估计都可以抛弃了
这里主要是考虑的前端和后端分开以及尽量少地使用各种技术(摒弃jsp和struts),后台验证还没考虑,你有什么好想法吗?
只使用spring再加上一种orm,两者之间用json交换数据就可以了,现在是放弃
jsp,struts这些已经显得累赘的技术的时候了。
出于这种想法,我做了个小试验,其中之所以选择jquery 1.3.2是因为jquery
ui 1.8还不是稳定版,而稳定版1.7是基于jquery 1.3+的。
1. 先从前台提交数据开始,关键代码如下:
function save() { var elemUserinfo = $('#customerInfo'); var userinfo = elemUserinfo.serializeObject(); var jsonuserinfo = JSON.stringify(userinfo); jQuery.ajax({ type : 'POST', contentType : 'application/json', url : 'customerInfo/new.do', data : jsonuserinfo, dataType : 'json', success : function(data){ $('div#responseName').text(data.name); $('div#responseAddr').text(data.addr); }, error : failed }); }
其中customerInfo是一个form的id,该form包含两个text input,name分别为name和addr,
serializeObject是一个网上比较流行的将form数据组装成json对象的juery扩展,代码如下:
$.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
将json对象转成String是用的json2(http://www.json.org/js.html)的JSON.stringify,提交
是用的jquery的ajax功能,注意要把contentType设为'application/json',这是为了后台spring
将其自动转化为vo对象用的。
关于返回值后面再说。
2. 然后说说后台spring的接收。
后台主要的代码如下:
@Controller @RequestMapping("/customerInfo") public class CustomerInfoController { @RequestMapping(value="/new", method = RequestMethod.POST) @ResponseBody public Customer newCustomer(@RequestBody Customer customer) { customer.setName(customer.getName() + "经服务器修改"); customer.setAddr(customer.getAddr() + "经服务器修改"); return customer; } }
其中Controller,RequestMapping什么的就不多说了,简单的说就是前提交时指定的url(
customerInfo/new.do)就被spring转到这里来处理了,其中web.xml中spring的设置如下:
<servlet> <servlet-name>test</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
注意处理申请的函数的参数直接就是Customer对象(Customer是一个具有属性name和addr的vo),
而不是json字串,这里的关键是这样的,spring具有将数据转化后再交给controller的功能,spring 3
新增了对json的处理能力,是基于Jackson JSON Processor(http://jackson.codehaus.org/)的,
使用时要配置一下,在这个例子中默认的bean定义文件test-servlet.xml中这样写:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <util:list id="beanList"> <ref bean="mappingJacksonHttpMessageConverter" /> </util:list> </property> </bean> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
这样一来,spring在接收contentType为application/json的request时会自动将json字串间转换成期望
的java对象,同样,发送response时,contentType被设为application/json,并且将java对象转为json
字串。
3. 下面该说返回了
上面已经说到,spring自动将response进行json化,所以处理函数直接返回vo对象就可以了。
而在页面端,由于我们指定了dataType为json,所以jquery直接把接收到的json字串转成了javascript
对象,我们可以直接使用data.name的写法取得数据了。
简单吧,这样一来,开发中,可以由设计人员在需求分析的基础上专心用html制作页面,之后交到前端
开发人员手里,前端开发人员添加js代码,实现页面逻辑,后台人员专心于java,spring和orm,前后
端交换json数据就可以了。
欢迎拍砖啊,呵呵。
评论
35 楼
Puras
2010-04-26
使用SpringMVC替换Struts么?
思路挺好的。
不过还是没有去掉中间的一层。
而且我想,也去不掉的
思路挺好的。
不过还是没有去掉中间的一层。
而且我想,也去不掉的
34 楼
DoubleEO
2010-04-26
andot 写道
idea比eclipse好多少倍呢...但是收费 不一样白扯么(虽然现在有社区版了)
一直在用Idea,确实比eclipse强多了....没事,盗版呗,myeclipse也收费呢,谁买了,一样的
33 楼
DoubleEO
2010-04-26
这不是SpringMVC吗?前面用jsp+ajax挺好的,后面spring+orm,一直这么做的...
32 楼
Angel_Night
2010-04-25
andot 写道
你用这个还需要多一个spring,发布的方法也还需要单独编写,配置也不算少。如果换成Hprose的话,也是纯html调用后台程序,不需要任何框架,直接配置一个现成的servlet就可以发布已经写好的类或对象(这些类和对象跟在后端可以直接使用的对象没有任何区别),跟js交互方式是直接js调用服务器方法,更直观更方便,可以传对象和复杂数据。前端可以配合jquery、ext、edojs等任何纯js框架来构建界面。比用这个方式不知道要方便高效多少倍呢。
是啊 要高效多少倍呢...
光买Hprose就不少钱..
还得招会Hprose的程序员 又需要多少?
idea比eclipse好多少倍呢...但是收费 不一样白扯么(虽然现在有社区版了)
31 楼
gfghgi
2010-04-25
前台 调后台方法时 最好 能有ide支持,按api 自动给出代码 ,,,像调 webservice 那样,,
30 楼
andot
2010-04-25
你用这个还需要多一个spring,发布的方法也还需要单独编写,配置也不算少。如果换成Hprose的话,也是纯html调用后台程序,不需要任何框架,直接配置一个现成的servlet就可以发布已经写好的类或对象(这些类和对象跟在后端可以直接使用的对象没有任何区别),跟js交互方式是直接js调用服务器方法,更直观更方便,可以传对象和复杂数据。前端可以配合jquery、ext、edojs等任何纯js框架来构建界面。比用这个方式不知道要方便高效多少倍呢。
29 楼
luojy8877
2010-04-25
我对lz说的不用JSP的理解是 页面所有数据都通过ajax去取。 我个人没有实践过整个项目所有页面的数据都通过ajax获取 想听听大家的看法。 不过我们现在在做的网站也有这样的打算 不少页面也都用ajax去获取数据。不过有一点可以肯定 如果所有页面都用ajax 前端开发一定非常郁闷 他的工作量会大大增加 呵呵
28 楼
niyong
2010-04-25
可否把整个工程都上传上来?我们研究一下
27 楼
Angel_Night
2010-04-25
不复记忆 写道
struts杯具了?
目前网络带来的评论给我的直观感受就是 1 2 都杯具...
不过我又想起另外一句话...
"把时髦的技术挂在嘴边,还不如把过时的技术记在心里。"
26 楼
不复记忆
2010-04-25
struts杯具了?
25 楼
Vampiredx
2010-04-24
完全使用jquery做数据展现的时候,还是很麻烦的,各种词典,形式转换。Java在这方面优势很明显的,很难被取代。主要是在数据展示方面,根据需求变动很大,方式种类很多。
24 楼
Angel_Night
2010-04-24
qiren83 写道
seo怎么办
一个企业的oa需要seo么...
而且优秀的搜索引擎不会处理不了这些的
不优秀的正好屏蔽了...比如javaeye就把雅虎之流屏蔽了..
23 楼
qiren83
2010-04-24
seo怎么办
22 楼
jidilangzi603
2010-04-24
用spring MVC在返回到页面上的时候还是比较简单的呀,
希望跟json结合起来用有事半功倍的效果!
希望跟json结合起来用有事半功倍的效果!
21 楼
Angel_Night
2010-04-24
yiyu 写道
godson_2003 写道
楼主的服务器端验证是咋做的啊?
这里主要是考虑的前端和后端分开以及尽量少地使用各种技术(摒弃jsp和struts),后台验证还没考虑,你有什么好想法吗?
首先服务器端验证这个问题
我做的项目不少了...基本没用过服务器端验证..都是项目吗...没那种要求.
与数据库交互的验证也都是用ajax做的
至于如果一定要用..其实hibernate本身也提供了对数据校验的功能吧
虽然把数据校验放到那个位置不一定合适,,但是至少也算是一种选择吧
20 楼
godson_2003
2010-04-24
yiyu 写道
godson_2003 写道
楼主的服务器端验证是咋做的啊?
这里主要是考虑的前端和后端分开以及尽量少地使用各种技术(摒弃jsp和struts),后台验证还没考虑,你有什么好想法吗?
没有。因为没有找到好的后台验证框架 所以一直在用Struts2,如果有好用的验证框架 Struts2、SpringMVC估计都可以抛弃了
19 楼
nogocn
2010-04-24
看了下思路,应该称赞有想法,但是在js里面还要写一大堆的绑定值。如下:
$('div#responseName').text(data.name);
customer.setName(customer.getName())
这样大大增加了不必的开发的工作量。
$('div#responseName').text(data.name);
customer.setName(customer.getName())
这样大大增加了不必的开发的工作量。
18 楼
yiyu
2010-04-24
godson_2003 写道
楼主的服务器端验证是咋做的啊?
这里主要是考虑的前端和后端分开以及尽量少地使用各种技术(摒弃jsp和struts),后台验证还没考虑,你有什么好想法吗?
17 楼
godson_2003
2010-04-24
楼主的服务器端验证是咋做的啊?
16 楼
edgar615
2010-04-24
最近开始看spring3,准备尝试下spring mvc
发表评论
-
log4j日志中输出sessionID的方法
2015-05-13 19:51 2425在web应用中,如果使用log4j做日志输出时,如果要输出s ... -
jdk输出带缩进格式xml的方法
2011-11-04 16:28 5461jdk自己带有xml处理的功能,好像是用的xerces和xal ... -
JasperReport与spring集成的三种方式
2011-08-10 14:38 16415最近要用JasperReport,试 ... -
jqGrid <-- json --> spring,hibernate之服务器端分页,排序
2011-06-07 16:22 7123最近做了一个以jqGrid实现的数据表格,与服务器端(spri ... -
在javax.servlet.Filter里设置Paramter
2011-02-17 16:04 1258今天碰到一个冷僻的需求,需要在Filter里增加request ... -
WebDav的java客户端开发包:Jackrabbit
2011-01-25 16:39 4773上一篇帖子“WebDav的java客户端开发包:sardine ... -
WebDav的java客户端开发包:sardine
2011-01-24 13:27 6462最近需要对WebDav服务器进行操作,查找了一下,基于java ... -
读取xml文件时不做validation的方法
2010-06-21 11:49 1656今天遇到一个问题,我使用dom4j读取一个xml文件的内容,该 ... -
jquery<--json-->spring(3.0)之DataTables的服务器端翻页
2010-05-15 10:45 5324本文是jquery<--json--> ... -
jquery<--json-->spring(3.0)之后台校验
2010-05-05 17:27 4149前一段试了一下前台用jquery(1.3.2),后台用spri ... -
使用HTML Parser获取需要HTTP认证的页面的方法
2010-04-09 13:48 1342HTML Parser(http://htmlparser.s ... -
使用javamail通过需要身份验证的smtp服务器发送邮件
2010-04-09 11:51 1736使用javamail发送邮件时,如果smtp服务器需要身份验证 ... -
Hibernate tools使用简介
2009-10-15 11:33 1504简单描述在Eclipse Java EE版中使用Hiberna ... -
关于ProcessBuilder执行dir命令报错
2009-05-15 10:09 2138今天无事,试一下ProcessBuilder,没想到这么一段简 ... -
YUI DataTable 服务器端翻页与排序
2009-01-23 14:45 3364这两天试用了一下YUI的DataTable,翻页和排序都在后台 ... -
使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
2009-01-22 16:21 2876今天碰到这样一个问题: 当前台以JSON格式向后台传递数据的 ... -
YUI + struts2实现基于JSON通讯的AJAX例子
2009-01-08 10:35 2434近来做了个小例子,前端使用YUI,后端使用struts2+sp ... -
Tiles与YUI LayoutManager的结合
2009-01-04 10:16 1558最近在学习YUI,深感功能全面,正在试探是否可以作为页面部分的 ...
相关推荐
标题“jquery-1.3.2-jsdoc-Spket-profile.rar”表明这是一款与jQuery相关的资源,具体来说是jQuery 1.3.2版本的文档(JSDoc格式),并且与Spket工具的配置文件有关。这个压缩包可能是为了帮助开发者在Eclipse集成...
而`jquery-1.3.2-vsdoc.js`是jQuery 1.3.2版本的一个特殊文件,它是专为Visual Studio设计的插件,用于提供代码提示和文档支持,极大地提升了jQuery在Visual Studio中的开发效率。 首先,我们来了解什么是VSDOC。...
jquery-1.3.2-vsdoc2.js,
赠送原API文档:mybatis-spring-boot-autoconfigure-1.3.2-javadoc.jar; 赠送源代码:mybatis-spring-boot-autoconfigure-1.3.2-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-boot-autoconfigure-1.3.2....
赠送原API文档:shiro-spring-1.3.2-javadoc.jar 赠送源代码:shiro-spring-1.3.2-sources.jar 包含翻译后的API文档:shiro-spring-1.3.2-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:...
JQuery(jquery-1.3.2.js)
<servlet-name>Connector</servlet-name> <servlet-class> com.FCKeditor.connector.ConnectorServlet </servlet-class> <init-param> <param-name>baseDir</param-name> <param-value>/upload/</param-value...
赠送原API文档:mybatis-spring-boot-autoconfigure-1.3.2-javadoc.jar; 赠送源代码:mybatis-spring-boot-autoconfigure-1.3.2-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-boot-autoconfigure-1.3.2....
jquery-1.3.2-vsdocjquery-1.3.2-vsdocjquery-1.3.2-vsdocjquery-1.3.2-vsdoc
赠送原API文档:mybatis-spring-1.3.2-javadoc.jar; 赠送源代码:mybatis-spring-1.3.2-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-1.3.2.pom; 包含翻译后的API文档:mybatis-spring-1.3.2-javadoc-API...
赠送原API文档:shiro-spring-1.3.2-javadoc.jar; 赠送源代码:shiro-spring-1.3.2-sources.jar; 包含翻译后的API文档:shiro-spring-1.3.2-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:org....
标题中的"jquery-1.3.2.min-vsdoc"和"jquery-1.4.3.min"提到了jQuery库的两个不同版本,分别是1.3.2和1.4.3。这两个版本都是jQuery的核心库文件,以.min表示它们是经过压缩和优化的版本,用于在网页中更快速地加载和...
同时,jQuery 1.3.2引入了`$.getJSON()`和`$.getScript()`,方便地处理JSON数据和异步加载脚本。 除了上述功能,jQuery 1.3.2还包括插件系统,允许开发者扩展其功能。许多优秀的第三方插件,如jQuery UI、jQuery ...
<version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> ``` 在main的resource目录下创建generatorConfig.xml文件 ![在...
开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...
首先,"jquery-1.3.2-vsdoc2.js"是jQuery 1.3.2版本的文档注释文件,其主要功能是为Visual Studio提供代码智能提示。当你在VS2005或VS2008中编写涉及jQuery的JavaScript代码时,这个文件能帮助你快速了解每个函数和...
《jQuery 1.3.2 Spket自动提示包详解》 在编程领域,尤其是在Web开发中,jQuery是一个不可或缺的JavaScript库,它极大地简化了DOM操作、事件处理、动画设计等任务。而jQuery 1.3.2是jQuery的一个重要版本,尽管后续...
添加依赖: <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>7.1.0</version> <type>pom</type> ... <version>1.3.2</version> </dependency>
赠送原API文档:mybatis-spring-1.3.2-javadoc.jar; 赠送源代码:mybatis-spring-1.3.2-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-1.3.2.pom; 包含翻译后的API文档:mybatis-spring-1.3.2-javadoc-API...
<version>1.3.2</version> </dependency> ``` MongoDB的Java驱动需要添加如下依赖: ```xml <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.6.4</version>...