posts - 3,  comments - 6,  trackbacks - 0

          我的評論

          @default
          看到了,謝謝分享。
          不知道是哪個版本加入的,當時版本的Config.groovy文件中可沒有這么一句。
          public void addStudentByCondition(Student stu){
          if(stu.getAge()<30)
          throw new MyBizException(); // 可以用RuntimeException替換
          getStudentDAO().save(stu);
          }

          注意,整個addStudentByCondition函數應該就這幾行,而不是修改這三行。
          把你的try/catch之類的統統刪除。
          我貼了呀,上面。只要把addStudentByCondition函數的實現完整替換一下,至少是能回滾了。
          如果你的程序還是原來那個樣子,雖然拋出了異常也是被你自己捕獲了,并沒有被spring捕獲到。
          spring既然不知道發生了異常,當然不會回滾事物了。
          兩個問題:
          既然使用了spring的聲明事物,就不應該再自己聲明事物了。spring的聲明事物就是檢查是否有異常出現來決定最后是提交還是回滾的,所以必須使用異常。
          所以你的server程序應該寫為:(似乎根本不需要回滾)
          public void addStudentByCondition(Student stu){
          if(stu.getAge()>=30)
          getStudentDAO().save(stu);
          }
          如果因為有其他邏輯需要回滾的話,應該這樣:
          public void addStudentByCondition(Student stu){
          if(stu.getAge()<30)
          throw new MyBizException(); // 建議自定義一個有業務意義的異常
          getStudentDAO().save(stu);
          }

          另一個問題,你的Dao類在使用templage方法是都自己做了異常處理,但是你的異常處理無實質內容,這個做法會影響到事物的。如果你不知道應該如何處理這些異常,最好就是不要管他。
          re: 幾種javascript的改進寫法 Tiger F 2007-11-26 09:51  
          又看了一遍,可能是我理解錯了。
          這個做法是想要確定GBK編碼情況下字符串需要的存儲空間大小。不過我還是覺得這樣不好,要是后臺系統要采用utf8或者utf16呢。增加了系統部署的限制。
          re: 幾種javascript的改進寫法 Tiger F 2007-11-26 09:46  
          我認為第5條不正確,javascript中使用的應該是unicode,情況與java類似。這樣的做法反而會得到錯誤的結果。
          是否為null的語法應該用 is null 的吧
          呵呵,這也是電子商務呀
          re: 跳動的firefox Tiger F 2007-09-18 23:00  
          我也覺得是float解釋的問題,奇怪的地方在于似乎每點一下它就重新解釋了一次。這個問題我還在mozillazine上發帖了,也許是英文太爛,沒人理呀
          磨刀不誤砍柴工,javacc之類的工具并不難掌握,但是一定能幫你走得更遠更快的。而且javacc有一個比較豐富的語法語言庫,其中就有sql的,你可以拿來直接用就能解決第一步的問題。
          你使用的jstl聲明是早期版本的,現在的聲明方式應該如下:
          <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
          這樣不論在2.3還是2.4版本下都不會有不支持el的問題了。
          建議找一個現成的詞法分析工具,比如javacc
          已經在用script修改頁面的內容了,為什么不把success直接寫在innerHTML中還要再用另一段script輸出?直接寫成下面的樣子不是很簡單?

          unction loadScript(){
          var element=document.getElementById("result");
          element.innerHTML="The result is: Successful";
          }
          document對象是動態的,如果你對頁面進行了修改,那就一定會反映到document對象中的,所以你不能通過它再得到修改前的某些內容的。

          另外,既然指定了base,實在不該再出現src="http://127.0.0.1:7000/... 這樣的代碼呀。
          能夠實現的功能基本一樣,主要是語義的區別,message用于做一些提示和確認的文字,error則是錯誤提示。struts標簽默認情況下也會使用不同的html標記和格式顯示它們。
          re: 還是struts2問題 Tiger F 2007-09-04 22:12  
          多半是因為你的web.xml中有什么錯誤導致的,可以查tomcat的日志文件,看看其中有什么exception
          主站蜘蛛池模板: 桃源县| 新巴尔虎左旗| 泽普县| 黑山县| 新龙县| 云霄县| 安多县| 潞西市| 友谊县| 醴陵市| 同江市| 酒泉市| 涿鹿县| 云浮市| 新田县| 教育| 张家口市| 茂名市| 四川省| 福安市| 新郑市| 乳山市| 扎赉特旗| 遂川县| 香河县| 科技| 宁强县| 洛阳市| 清水河县| 东明县| 房产| 黄冈市| 佳木斯市| 聂拉木县| 博罗县| 深水埗区| 邵东县| 昭苏县| 南城县| 横山县| 银川市|