今天程序遇到一個奇怪的問題,應用在本地的tomcat運行沒問題,放到websphere就出問題了,本地是windows平臺,websphere是linux,出問題原因是變量用eclipse生成的get、set方法導致的。變量是一個小寫字母開頭,第二個是大寫字母,這種變量不能用eclipse直接生成get、set方法。
eclipse自動生成的
private String aValue;
public String getaValue() {
return aValue;
}
public void setaValue(String aValue) {
this.aValue = aValue;
}
這種在websphere上報null,沒有值,而本地上運行沒報錯,調試只能通過日誌文件查看,一步步定位。把上面代碼的get、set方法修改如下即可正常
private String aValue;
public String getAValue() {
return aValue;
}
public void setAValue(String aValue) {
this.aValue = aValue;
}
從上面可以看出來,websphere上struts2中要求get、set方法名後緊跟大寫,不能跟小寫。以後定義變量儘量不要這樣定義。