获取Struts中选定的单选按钮索引

时间:2015-04-02 11:45:07

标签: jsp struts javabeans struts-1 apache-commons-beanutils

我在Struts 1表单上有一些单选按钮。

<input type="radio" name="productId" value="31415" />
<input type="radio" name="productId" value="31416" />

然后在Action类中,我可以从表单中获取值。例如,如果我选择第一个单选按钮,则myForm.getProductId()将返回31415。

问题是,Struts 1中是否有一种方法可以告诉索引选择哪个输入字段并保留当前功能?

(在最坏的情况下我知道我可以创建一个包含所选单选按钮的新隐藏字段并从JavaScript更新该字段,但我也想避免这种情况。)< / p>

说明: 单选按钮是根据集合创建的,但由于某种原因,集合的元素有时没有产品ID,所以如果有多个这样的元素,那么我无法分辨哪个单选按钮被选中。但即使在这些情况下,我也想知道提高系统的容错能力。 (我对集合的元素没有任何影响,它来自Web服务。)

1 个答案:

答案 0 :(得分:1)

您可以为输入字段的索引名称使用索引属性。

  

对于索引属性,BeanUtils.populate()   使用请求参数的名称来确定要在ActionForm

上调用的正确setter方法

使用索引名称

<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;
}