1、(2014/05/28)struts2中使用eclipse自動獲取getter和setter方法的坑
今天著實被eclipse坑了一把,平時遇到get和set方法時,我都是通過eclipse自動生成,今天在做數據查詢的時候,有一個變量首字母小寫,第二個字母大寫(即tName),我也跟平常一樣在struts2的action中用eclipse自動生成getter和setter方法,然后調試,發現無論傳給tName什么參數,它接收的都是null,當時,我很納悶,試了很就發現還是不成功,就把參數換成tname去試,這次卻能接收到參數,于是,我就猜測是不是struts2的屬性對大小寫有什么要求,在百度上找了一下,果然,網上說struts2的set后面必須是大寫字母,否則就會失效,看到這個后,我就把settName()改成了setTName(),這次果真接收到數據了。
2、(2014/05/29)jdbc鏈接mysql不指定編碼類型的坑
java常見問題及解決方案。在struts2中通過getter和setter接收參數,對于中文的參數,傳入時先進性URL編碼,接收時用URLDecoder進行解碼,之后將接收到的參數拼接到SQL語句中,打印出來的日志信息中中文是正常顯示的,例如:select * from tableName where name='中國';可是怎么樣也查詢不出來數據,也不報錯,數據是通過JDBC取的,然后就將PreparedStatement執行的SQL語句打印出來,發現執行的語句卻是select * from tableName where name='???';,在網上查詢資料,看到一條關于指定數據庫連接編碼的信息,這才想起來我的連接沒有指定編碼,connInfoMap.put("url","jdbc:mysql://"+array[0]+":3306/"+array[3]);,把它改成connInfoMap.put("url","jdbc:mysql://"+array[0]+":3306/"+array[3]+"?useUnicode=true&characterEncoding=UTF-8");測試通過了。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态