re: Grails應用的中文編碼情況[未登錄] Tiger F 2008-09-12 12:03
@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類似。這樣的做法反而會得到錯誤的結果。
re: 交友網站現在怎么像是賣春的? Tiger F 2007-09-28 11:31
呵呵,這也是電子商務呀
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的問題了。
re: 動態生成javaScript代碼的執行問題 Tiger F 2007-09-17 22:53
已經在用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