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

问题描述 投票:0回答:1

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

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

然后在

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

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

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

说明: 单选按钮是基于集合创建的,但由于某种原因,集合的元素有时没有产品 ID,因此如果有多个这样的元素,那么我无法判断选择了哪个单选按钮。但我想知道即使在这些情况下,如何提高系统的容错能力。 (我对集合中的元素没有权力,它们来自网络服务。)

jsp struts javabeans struts-1 apache-commons-beanutils
1个回答
1
投票
您可以使用索引属性作为输入字段的索引名称。

对于索引属性,

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; }
    
© www.soinside.com 2019 - 2024. All rights reserved.