super

          JSON-RPC的另類用法

          JSON-RPC 大家都知道了,我比較反感JSON-RPC的客戶端/服務器端的交互方式,個人認為還是DWR的框架似乎好一些,不過單純比較后臺代碼的風格,似乎JSON-RPC的代碼更好些---純粹個人喜好。

          ???雖然不喜歡JSON-RPC的框架,不過對于JSON的javaObject--javascriptObject的轉換代碼倒是很欣賞,因此直接把JSON-RPC的這部分代碼直接拿過來用,感覺也不錯。當然,這已經跟AJAX關系不大了。

          ???1.將jsonrpc-1.0.jar包含在你的project的classpath中,
          ???2.寫個簡單的Util類,將你的java Object 序列化成javascript的字符串。

          public class JSONUtil {
          ?public static final JSONSerializer se = new JSONSerializer();
          ?private static Logger log = Logger.getLogger(JSONUtil.class);?
          ?static
          ?{
          ??try
          ??{
          ???se.registerDefaultSerializers();
          ??}
          ??catch (Exception e)
          ??{
          ???log.error(e);
          ??}
          ?}
          ?
          ?public static String toJSON(Object obj)
          ?{
          ??try
          ??{
          ???SerializerState state = new SerializerState();
          ???Object retuObj = se.marshall(state, obj);
          ???String retuStr = retuObj.toString();
          ???//retuStr.replaceAll("\\\"", "\\'");
          ???//log.debug("JSONStr:"+retuStr);
          ???return retuStr;
          ??}
          ??catch (Exception e){
          ???log.error(e);
          ???return obj.toString();
          ??}
          ?}


          3.???客戶端的jsp中只要簡單的加上這段js
          <script language=javascript>
          ?eval('jsObject = <%=JSONUtil.toJSON(javaObject)%>'+';');
          </script>
          javaObject是你自己的java類的實例,這樣你就可以在js中直接操作jsObject 這個js對象了。



          posted on 2006-11-27 16:14 王衛華 閱讀(670) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西城区| 宁波市| 巴彦县| 互助| 习水县| 九台市| 阿勒泰市| 阜南县| 茌平县| 雅安市| 兴海县| 长宁区| 雅江县| 新邵县| 四川省| 资阳市| 长垣县| 上饶县| 新河县| 渭源县| 新丰县| 金华市| 昌宁县| 邳州市| 兴业县| 长子县| 曲麻莱县| 莱芜市| 岳普湖县| 合肥市| 万源市| 敦煌市| 辉南县| 中牟县| 皋兰县| 沧州市| 新竹县| 宜兰市| 东乡族自治县| 罗山县| 仲巴县|