java 板


LINE

※ 引述《ek0424 ()》之铭言: : 各位板上的大大好,最近小弟在学习spring这个framework : 在开发过程中有遇到一个问题,在网路上寻找许久的资料还是无解 : 目前因为前端部分有大量的表单栏位要做格式验证处理,所以我参考了 : http://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/ : 但是却发现有个问题如下: : 1.不用Form表单做的话,可以达到同样的验证效果吗? 我没用过这个功能 不过这点应该自己试一次就可以知道有没有用了 如果不行的话 可以自己写一个Mapping参数值到POJO的功能 再传入另一个method 效果应该一样 例如: // Mapping Customer customer = ReflectionUtil.mapping(request, Customer.class); // Do validation and insertion String view = this.doAddCustomer(customer); private String doAddCustomer(@Valid Customer customer); 不过我自己在做後端表单验证都是自己写 毕竟有些参数验证还满麻烦的 你可以试试用Spring的Interceptor 在进入Controller之前就做好验证 并根据是否为ajax要求做不同的回应内容 如此一来你的验证程式码都会在固定的一包package里面 (如controller.interceptor.validation) 还可以用spring的xml配置随意更换而不用动到原始码 : 2.如果我的Form表单想用Ajax处理,然後一样有验证效果该怎麽做? 有一个偷吃步的方法 就是将Form表单的target指定给一个隐藏的iframe 这样就跟平常submit form的流程差不多了 只不过回应内容要另外处理 不然就把表单内容放在DIV里 在iframe里用parent.doReplaceForm($("div").html()); 应该也可以吧XD? 如果你是想将form表单直接由ajax的方式传送参数 可以使用 $(document.formName).serialize(); 做为ajax的data参数值 即可传送整张表单的所有栏位 : 3.因为练习接案子,对方要求要有API文件,然後用JSON格式作沟通 : 很多表单的东西,都不是传JSON作处理,该怎麽改成都用JSON沟通? : 不知道有没有大大有经验,可以指点小弟一下。 後端的json处理我是使用google的gson套件 不知道你有没有使用Maven <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.2</version> </dependency> 之後你只要在你的Data Bean加入以下method public String toJson(){ return new GsonBuilder().disableHtmlEscaping().create().toJson(this); } 就可以取得json格式的字串 到前端再使用jQuery parsing var json = $.parseJSON(jsonMessage); var status = json.status; var message = json.message; 当然有更简单的方式 例如将dataType直接指定为json 其实JSON就是个格式化的字串 这样想之後会简单一点 就是字串传来传去嘛 哈哈哈 有物件解释就够了 以下是题外话 其实我不太推荐在view里用太多的taglib或是什麽其他一大堆功能 基本上我的view里面是回圈居多 if else的判断式尽量在後端就处理完 拿最简单select element输出做范例 大概会长这样 <loop> <select> <option value=${value} ${selected}>$display</option> </select> </loop> 除了loop(偷懒一下)之外 其他都是设计师可以看懂的 或是不需要看懂也没关系的 非必要的东西不写在view里 所以我套版完成後跟一开始设计师给的HTML原始码差异都不大 若要改版面需要重新沟通、重新套版都很方便 用很多程式相关的标签在view里 反而失去MVC的本意了 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.166.88
1F:→ kiwatami:loop写错地方XD 懒得改了 那边不是重点 02/15 22:19
2F:推 ek0424:感谢大大您的解说!感觉您的程式码一定很精简~学习了。 02/16 12:58
3F:推 ek0424:若有程式码完整范例就更好了!XD 02/16 13:12
4F:→ kiwatami:没那麽闲啦XD 02/16 23:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP