﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-一往无前  终不怨  勿痴勿恋-随笔分类-jQuery</title><link>http://www.blogjava.net/Vanilla-Sky/category/46590.html</link><description>逐梦之旅</description><language>zh-cn</language><lastBuildDate>Tue, 12 Oct 2010 11:50:16 GMT</lastBuildDate><pubDate>Tue, 12 Oct 2010 11:50:16 GMT</pubDate><ttl>60</ttl><item><title>一个jQuery 和json 页面交互的实例</title><link>http://www.blogjava.net/Vanilla-Sky/archive/2010/10/12/334679.html</link><dc:creator>无尽海</dc:creator><author>无尽海</author><pubDate>Tue, 12 Oct 2010 09:27:00 GMT</pubDate><guid>http://www.blogjava.net/Vanilla-Sky/archive/2010/10/12/334679.html</guid><wfw:comment>http://www.blogjava.net/Vanilla-Sky/comments/334679.html</wfw:comment><comments>http://www.blogjava.net/Vanilla-Sky/archive/2010/10/12/334679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Vanilla-Sky/comments/commentRss/334679.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Vanilla-Sky/services/trackbacks/334679.html</trackback:ping><description><![CDATA[<p>工作中的点滴记录...<br />
No.1<br />
jsp页面中的脚本代码&nbsp; 需要引入<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">text/javascript</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;src</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">${ctx}/js/jquery.js</span><span style="color: #000000">"</span><span style="color: #000000">&gt;&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></div>
<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;!--</span><span style="color: #000000">页面jquery脚本</span><span style="color: #000000">--&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img id="Codehighlighter1_44_522_Open_Image" onclick="this.style.display='none'; Codehighlighter1_44_522_Open_Text.style.display='none'; Codehighlighter1_44_522_Closed_Image.style.display='inline'; Codehighlighter1_44_522_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_44_522_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_44_522_Closed_Text.style.display='none'; Codehighlighter1_44_522_Open_Image.style.display='inline'; Codehighlighter1_44_522_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;updateQuantity()</span><span id="Codehighlighter1_44_522_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_44_522_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;$.getJSON(</span><span style="color: #000000">"</span><span style="color: #000000">${ctx}/do/material/updateQuantity?id=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">$('#id').val()</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">&amp;quantity=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">$('#quantity').val()</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">&amp;timestamp=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Date().getTime(),<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_206_518_Open_Image" onclick="this.style.display='none'; Codehighlighter1_206_518_Open_Text.style.display='none'; Codehighlighter1_206_518_Closed_Image.style.display='inline'; Codehighlighter1_206_518_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_206_518_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_206_518_Closed_Text.style.display='none'; Codehighlighter1_206_518_Open_Image.style.display='inline'; Codehighlighter1_206_518_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">(data)&nbsp;</span><span id="Codehighlighter1_206_518_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_206_518_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">遍历JSON中的每个entry</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #008000"><img id="Codehighlighter1_271_510_Open_Image" onclick="this.style.display='none'; Codehighlighter1_271_510_Open_Text.style.display='none'; Codehighlighter1_271_510_Closed_Image.style.display='inline'; Codehighlighter1_271_510_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_271_510_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_271_510_Closed_Text.style.display='none'; Codehighlighter1_271_510_Open_Image.style.display='inline'; Codehighlighter1_271_510_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;$.each(data,</span><span style="color: #0000ff">function</span><span style="color: #000000">(entryIndex,entry)</span><span id="Codehighlighter1_271_510_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_271_510_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;html</span><span style="color: #000000">=</span><span style="color: #000000">'</span><span style="color: #000000">&lt;</span><span style="color: #000000">tr</span><span style="color: #000000">&gt;</span><span style="color: #000000">';<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">也可以写成entry.id&nbsp;entry.state</span><span style="color: #008000"><br />
</span><span style="color: #008080">10</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;html</span><span style="color: #000000">+=</span><span style="color: #000000">'</span><span style="color: #000000">&lt;</span><span style="color: #000000">td</span><span style="color: #000000">&gt;</span><span style="color: #000000">'</span><span style="color: #000000">+</span><span style="color: #000000">entry['id']</span><span style="color: #000000">+</span><span style="color: #000000">'</span><span style="color: #000000">&lt;/</span><span style="color: #000000">td</span><span style="color: #000000">&gt;</span><span style="color: #000000">';<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;html</span><span style="color: #000000">+=</span><span style="color: #000000">'</span><span style="color: #000000">&lt;</span><span style="color: #000000">td</span><span style="color: #000000">&gt;</span><span style="color: #000000">资料状态&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'</span><span style="color: #000000">+</span><span style="color: #000000">entry['state']</span><span style="color: #000000">+</span><span style="color: #000000">'</span><span style="color: #000000">&lt;/</span><span style="color: #000000">td</span><span style="color: #000000">&gt;</span><span style="color: #000000">';<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;html</span><span style="color: #000000">+=</span><span style="color: #000000">'</span><span style="color: #000000">&lt;</span><span style="color: #000000">td</span><span style="color: #000000">&gt;</span><span style="color: #000000">'</span><span style="color: #000000">+</span><span style="color: #000000">entry['serialNumber']</span><span style="color: #000000">+</span><span style="color: #000000">'</span><span style="color: #000000">&lt;/</span><span style="color: #000000">td</span><span style="color: #000000">&gt;</span><span style="color: #000000">';<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;html</span><span style="color: #000000">+=</span><span style="color: #000000">'</span><span style="color: #000000">&lt;/</span><span style="color: #000000">tr</span><span style="color: #000000">&gt;</span><span style="color: #000000">';<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;$('#title').html(html);<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">);<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">);<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<br />
<br />
No.2<br />
后台controller代码<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_1_30_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1_30_Open_Text.style.display='none'; Codehighlighter1_1_30_Closed_Image.style.display='inline'; Codehighlighter1_1_30_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1_30_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1_30_Closed_Text.style.display='none'; Codehighlighter1_1_30_Open_Image.style.display='inline'; Codehighlighter1_1_30_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1_30_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_1_30_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;将传入的对象转化为JSON数据格式<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;JSONObject&nbsp;toJSONObject(Object&nbsp;obj)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;SecurityException,&nbsp;JSONException,&nbsp;NoSuchMethodException,&nbsp;IllegalArgumentException,&nbsp;IllegalAccessException,<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_225_1575_Open_Image" onclick="this.style.display='none'; Codehighlighter1_225_1575_Open_Text.style.display='none'; Codehighlighter1_225_1575_Closed_Image.style.display='inline'; Codehighlighter1_225_1575_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_225_1575_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_225_1575_Closed_Text.style.display='none'; Codehighlighter1_225_1575_Open_Image.style.display='inline'; Codehighlighter1_225_1575_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InvocationTargetException&nbsp;</span><span id="Codehighlighter1_225_1575_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_225_1575_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSONObject&nbsp;jobj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JSONObject();<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field[]&nbsp;fields&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;obj.getClass().getDeclaredFields();<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_349_1557_Open_Image" onclick="this.style.display='none'; Codehighlighter1_349_1557_Open_Text.style.display='none'; Codehighlighter1_349_1557_Closed_Image.style.display='inline'; Codehighlighter1_349_1557_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_349_1557_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_349_1557_Closed_Text.style.display='none'; Codehighlighter1_349_1557_Open_Image.style.display='inline'; Codehighlighter1_349_1557_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(Field&nbsp;field&nbsp;:&nbsp;fields)&nbsp;</span><span id="Codehighlighter1_349_1557_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_349_1557_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;读取obj内部的对象属性;</span><span style="color: #008000"><br />
</span><span style="color: #008080">10</span><span style="color: #008000"><img id="Codehighlighter1_415_721_Open_Image" onclick="this.style.display='none'; Codehighlighter1_415_721_Open_Text.style.display='none'; Codehighlighter1_415_721_Closed_Image.style.display='inline'; Codehighlighter1_415_721_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_415_721_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_415_721_Closed_Text.style.display='none'; Codehighlighter1_415_721_Open_Image.style.display='inline'; Codehighlighter1_415_721_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(field.getName().equals(</span><span style="color: #000000">"</span><span style="color: #000000">department</span><span style="color: #000000">"</span><span style="color: #000000">))&nbsp;</span><span id="Codehighlighter1_415_721_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_415_721_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;m&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;obj.getClass().getMethod(</span><span style="color: #000000">"</span><span style="color: #000000">get</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;StringUtils.capitalize(</span><span style="color: #000000">"</span><span style="color: #000000">department</span><span style="color: #000000">"</span><span style="color: #000000">)).invoke(obj);<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobj.put(</span><span style="color: #000000">"</span><span style="color: #000000">id</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;m.getClass().getMethod(</span><span style="color: #000000">"</span><span style="color: #000000">get</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;StringUtils.capitalize(</span><span style="color: #000000">"</span><span style="color: #000000">id</span><span style="color: #000000">"</span><span style="color: #000000">)).invoke(m));<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobj.put(</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;m.getClass().getMethod(</span><span style="color: #000000">"</span><span style="color: #000000">get</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;StringUtils.capitalize(</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">)).invoke(m));<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;过滤掉set成员变量</span><span style="color: #008000"><br />
</span><span style="color: #008080">17</span><span style="color: #008000"><img id="Codehighlighter1_781_802_Open_Image" onclick="this.style.display='none'; Codehighlighter1_781_802_Open_Text.style.display='none'; Codehighlighter1_781_802_Closed_Image.style.display='inline'; Codehighlighter1_781_802_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_781_802_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_781_802_Closed_Text.style.display='none'; Codehighlighter1_781_802_Open_Image.style.display='inline'; Codehighlighter1_781_802_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(field.getType().equals(Set.</span><span style="color: #0000ff">class</span><span style="color: #000000">))&nbsp;</span><span id="Codehighlighter1_781_802_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_781_802_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;成员变量是Date</span><span style="color: #008000"><br />
</span><span style="color: #008080">21</span><span style="color: #008000"><img id="Codehighlighter1_863_1172_Open_Image" onclick="this.style.display='none'; Codehighlighter1_863_1172_Open_Text.style.display='none'; Codehighlighter1_863_1172_Closed_Image.style.display='inline'; Codehighlighter1_863_1172_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_863_1172_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_863_1172_Closed_Text.style.display='none'; Codehighlighter1_863_1172_Open_Image.style.display='inline'; Codehighlighter1_863_1172_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(field.getType().equals(Date.</span><span style="color: #0000ff">class</span><span style="color: #000000">))&nbsp;</span><span id="Codehighlighter1_863_1172_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_863_1172_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;invoke&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;obj.getClass().getMethod(</span><span style="color: #000000">"</span><span style="color: #000000">get</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;StringUtils.capitalize(field.getName())).invoke(obj);<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;format&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;DateFormat.getDateInstance(DateFormat.DEFAULT).format(invoke);<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;System.out.println(field.getName()&nbsp;+&nbsp;"===&gt;"&nbsp;+&nbsp;format);</span><span style="color: #008000"><br />
</span><span style="color: #008080">25</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobj.put(field.getName(),&nbsp;format);<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;成员变量是Boolean</span><span style="color: #008000"><br />
</span><span style="color: #008080">29</span><span style="color: #008000"><img id="Codehighlighter1_1239_1375_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1239_1375_Open_Text.style.display='none'; Codehighlighter1_1239_1375_Closed_Image.style.display='inline'; Codehighlighter1_1239_1375_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1239_1375_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1239_1375_Closed_Text.style.display='none'; Codehighlighter1_1239_1375_Open_Image.style.display='inline'; Codehighlighter1_1239_1375_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(field.getType().equals(Boolean.</span><span style="color: #0000ff">class</span><span style="color: #000000">))&nbsp;</span><span id="Codehighlighter1_1239_1375_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1239_1375_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobj.put(field.getName(),&nbsp;obj.getClass().getMethod(</span><span style="color: #000000">"</span><span style="color: #000000">is</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;StringUtils.capitalize(field.getName())).invoke(obj));<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img id="Codehighlighter1_1385_1510_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1385_1510_Open_Text.style.display='none'; Codehighlighter1_1385_1510_Closed_Image.style.display='inline'; Codehighlighter1_1385_1510_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1385_1510_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1385_1510_Closed_Text.style.display='none'; Codehighlighter1_1385_1510_Open_Image.style.display='inline'; Codehighlighter1_1385_1510_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_1385_1510_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1385_1510_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobj.put(field.getName(),&nbsp;obj.getClass().getMethod(</span><span style="color: #000000">"</span><span style="color: #000000">get</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;StringUtils.capitalize(field.getName())).invoke(obj));<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img id="Codehighlighter1_1532_1553_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1532_1553_Open_Text.style.display='none'; Codehighlighter1_1532_1553_Closed_Image.style.display='inline'; Codehighlighter1_1532_1553_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1532_1553_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1532_1553_Closed_Text.style.display='none'; Codehighlighter1_1532_1553_Open_Image.style.display='inline'; Codehighlighter1_1532_1553_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span id="Codehighlighter1_1532_1553_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1532_1553_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;jobj;<br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
model转型为json数据时，用了反射对model中成员变量为集合(Set)、Boolean、Date进行特殊处理。<br />
PS:json格式&nbsp;&nbsp;<br />
[{},<br />
{<font style="background-color: #cce8cf">&nbsp;"name":"value",&nbsp;"name":"value",&nbsp;<br />
"children":[{&nbsp;&nbsp;"name":"value",&nbsp;&nbsp;"attributes":{&nbsp;&nbsp;"url":"/do/postRequirement/postRequirementList"&nbsp;&nbsp;}},{&nbsp;&nbsp;"name":"value",&nbsp;&nbsp;"attributes":{&nbsp;&nbsp;&nbsp;"url":"/do/trainingPlan/trainingPlanList"&nbsp;&nbsp;}&nbsp;}]<br />
</font>},<br />
{},{},{},{},{}]<br />
json整体格式为[{},{},{}]&nbsp; ,内部数据为此基本结构的复合。{}内部有集合结构，如：children,也是以[]来包含。内部结构名称是自定的(个人理解)。<br />
<font style="background-color: #cce8cf">详细格式：<a href="http://www.json.org/json-zh.html">http://www.json.org/json-zh.html</a></font> 
<img src ="http://www.blogjava.net/Vanilla-Sky/aggbug/334679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Vanilla-Sky/" target="_blank">无尽海</a> 2010-10-12 17:27 <a href="http://www.blogjava.net/Vanilla-Sky/archive/2010/10/12/334679.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>