【发布时间】:2012-09-03 03:22:48
【问题描述】:
在我的 jsp 页面中,我有一个表单(在 struts2 中),我在提交表单后尝试使用隐藏标记将 ArrayList 数据的大小分配给 Vector testVector,但我仍然得到 testVector 的大小等于 0 .
<s:hidden name="testVector.size" value="%{data.size}" />
我在我的 Action 类中为 data 和 testVector 创建了 setter 和 getter。
private Vector<String> testVector = new Vector<String>();
private ArrayList<String> data = new ArrayList<String>();
private String testName; // a field for testing the form.
// getters and setters of testVector and data
我认为这应该可以工作,因为 Vector 有一个公共设置器 setSize(int size)。对于另一个字段“testName”,它已经很好地提交了。所以我的语法有问题吗?
非常感谢。
【问题讨论】:
-
这将不起作用,因为您的隐藏字段将等同于
gettestVector().setSize();而不是这种情况,因为testVector是字符串列表,而且您的testVector是字符串类型,所以我我不确定你有 getter ans settersetSize(int size)是什么意思?我可能读错了问题,你能用 getter 和 setter 显示你的动作类代码吗 -
testVector 是 Vector 类型的集合,因此它有一个已经预定义的公共方法 setSize。所以我认为当我写 name="testVector.size" 时会自动调用 getTestVector().setSize()。但是 testVector 的大小没有改变。我不是这个意思。谢谢。