gpt4 book ai didi

jsp - 如何在 Struts 2 操作类中检索复选框值?

转载 作者:行者123 更新时间:2023-12-05 01:48:43 25 4
gpt4 key购买 nike

我在 jsp 页面中有动态数量的复选框,如下所示。

<s:iterator value="details"  status="stat">
<s:checkbox name="checkbox" theme="simple" />
<s:hidden name="hidden" value="%{top}" />
</s:iterator>

假设有 4 个复选框。

action类中的setter是

public void setCheckbox(boolean s[])
{
System.out.println(s.length);
}

如果我不选择任何复选框,s.length 为零。如果我选择第 3 个复选框,s.lenght 为 1,它正在使用 true 初始化 s[0]。但是这里的问题是如何找到是否选中了第 3 个复选框或另一个复选框。

我认为如果我选择第三个复选框,setter 会初始化 s[]={false,false,true,false}。但它正在初始化 s[]={true}

在数据库中执行所需的操作需要这些选定框的相应隐藏值。但为此我需要找到选择复选框。
请建议我任何解决方案。

最佳答案

因为您的复选框都被命名为相同的 (checkbox),Struts2 只是传递以下内容:

checkbox=true&checkbox=true&checkbox=true

这是否意味着您省略了第二个、第三个或第四个复选框?

您真正想要的不是 bool 值数组,而是整数到 bool 值的映射。这是一个例子:

示例操作

public class MyAction extends ActionSupport {
private Map<Integer, Boolean> checkboxes;

...

public Map<Integer, Boolean> getCheckboxes() {
return checkboxes;
}

public void setCheckboxes(Map<Integer, Boolean> checkboxes) {
this.checkboxes = checkboxes;
}
}

示例 JSP

<s:iterator value="details" status="stat">
<%-- this outputs checkboxes[0], checkboxes[1], etc. --%>
<s:checkbox name="checkboxes[%{#stat.index}]" theme="simple" />
</s:iterator>

示例结果

  • 0 -> 真
  • 1 -> 错误
  • 2 -> 真
  • 3 -> 正确

关于jsp - 如何在 Struts 2 操作类中检索复选框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com