[转载]struts+hibernate遇到的错误总结
? 經過對struts+hibernate幾天的學習,大體上還算比較的了解機制,以前學習的時候都是
單個框架訓練,沒有結合2個框架做,所以今天就找了個網上發布租房信息的小項目結合
struts+hibernate做了下,當中遇到的問題還真多,其中有很多經典的問題,所以在這里記
錄下來,免得以后再犯。
??? 在做查詢的時候有個模糊like查詢,在這里如果要用hql的話就不能使用預處理語句了
,必須得直接使用拼接型做法,這樣也容易引起亂碼(已解決)。要是用預處理做法將會報
錯,來看下代碼,再分析下為什么出錯。如圖:
?? 在這里比較特殊的地方就是用紅圈圈畫的地方,報錯的原因也就在這里是用了連個單引號,表示單引中的內容是字符串了,而你在這里按平常定義一個變量,然后在下面添加,這時候hql就無法識別你定義的變量,因為他會在這里把變量識別成字符串。所以在下面給這個變量添加值的時候就會出錯,原因是找不到這個變量。那么這種方法做不了,但是還不想用拼接形式,那改怎么辦?沒關系,在hibernate中還提供了Criteria的查詢機制,這種查詢就更為靈活,具體會專門抽時間學習。我們可以在這里實現模糊查詢,如圖:
?
?? 這樣就可以搞定啦。但是頭是永遠找不到的,這時候我一位萬事大吉,總算不報錯了。改歇歇了,該死的是這個模糊查詢查不出結果,現在頭開始大了。原因在哪呢??調試了許久,才發現穿過來的值是亂碼。天哪,這個值是我自己從表單中取的,怎么會是亂碼呢?以前處理亂碼的時候是struts在封裝form的時候會出現中文亂碼,這里沒有封裝form呀,怎么就會出現亂碼呢?哎,沒辦法,只好加上了處理struts中文亂碼的類,這個類繼承reuestProcess,實現此方法中的processPreprocess,在里面設置編碼集然后在struts-
config.xml通過controller配置,就可以搞定。。。。。。。。。
?? 不過對這個還是不太清楚的,總算清凈了,想去會游戲。
轉載于:https://www.cnblogs.com/liuzhuqing/archive/2011/06/27/7481051.html
總結
以上是生活随笔為你收集整理的[转载]struts+hibernate遇到的错误总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MDK升级后的头文件冲突
- 下一篇: 使用 Visual Studio 编译