我在 Struts 1 表单上有一些单选按钮:
<input type="radio" name="productId" value="31415" />
<input type="radio" name="productId" value="31416" />
然后在
Action
类中我可以很好地从表单中获取值。例如,如果我选择第一个单选按钮,则 myForm.getProductId()
返回 31415
。
问题: Struts 1 中是否有一种方法可以告诉通过索引选择哪个输入字段,同时保留当前功能?
(在最坏的情况下我知道我可以创建一个新的隐藏字段,其中包含所选的单选按钮并从 JavaScript 更新该字段,但我也想避免这种方式。)
说明: 单选按钮是基于集合创建的,但由于某种原因,集合的元素有时没有产品 ID,因此如果有多个这样的元素,那么我无法判断选择了哪个单选按钮。但我想知道即使在这些情况下,如何提高系统的容错能力。 (我对集合中的元素没有权力,它们来自网络服务。)
对于索引属性,使用索引名称
BeanUtils.populate()
使用请求参数的名称来确定调用正确的 setter 方法ActionForm
<input type="radio" name="productId[0]" value="31415" />
<input type="radio" name="productId[1]" value="31416" />
定义索引属性
private String[] productId;
public String getProductId(int index) {
return productId[index];
}
public void setProductId(int index, String productId) {
productId[index] = productId;
}
public String[] getProductId( ) {
return productId;
}