陣列對於一個簡單的動作類與這些成員變量:Struts2的轉換枚舉陣列填充單空值
...
private TestConverterEnum test;
private TestConverterEnum[] tests;
private List<TestConverterEnum> tList;
...
和一個簡單枚舉:
public enum TestConverterEnum {
A,
B,
C;
}
使用默認struts2的枚舉轉換,當我發送這樣的請求:
TestConterter.action?test=&tests=&tList=&b=asdf
對於test
我得到一個null
值,這是預期的。然而,對於數組和列表,我得到和數組(或列表)與一個空元素。這是預期的嗎?有沒有辦法來防止這一點。
我們最近升級了struts2的版本,我們有我們自己的轉換,這也不會在這種情況下工作,所以我希望能使用默認的轉換方法。我們已經有驗證這些數組的代碼,其長度爲null
,我不想爲這些分支添加其他條件。有沒有辦法阻止這種行爲?
對我來說,這似乎很奇怪,因爲空的表單字段看起來很平常。這意味着爲了查看我是否具有有效值,我必須檢查每個數組:array!= null && array.length> 0 && //每個元素不爲null。 它只是看起來給我。有沒有辦法解決它? – partkyle 2010-06-15 20:46:30
我更新了我的答案 – leonbloy 2010-06-15 21:02:07