阵列对于一个简单的动作类与这些成员变量: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