2011-11-04 95 views
2

我在jsp页面中使用Struts2我有复选框的迭代器值。如何获得行动类中的值?我正在使用JavaScript来验证复选框。所以请帮我解决这个问题。带迭代器的Struts2复选框

回答

3

我相信你有checkboxex像

<s:form action="myaction"> 
      <s:checkbox name="a" fieldValue="ORIGINATOR" value="%{value1}" label="A"/> 
      <s:checkbox name="a" fieldValue="EVALUATOR" value="%{value2}" label="B"/> 
      <s:checkbox name="a" fieldValue="EXECUTOR" value="%{value3}" label="C"/> 
     </s:form> 

这里是你将如何得到的值在动作类

public class Handler extends ActionSupport{ 

     private String[] a; 

public void setA(String[] a){ 

     this.a= a; 
    } 

@Override 
    public String execute() throws Exception { 


     // use the checkbox values here 

     return Action.SUCCESS; 
    } 
} 

希望这会帮助你。

+0

我试过你的编码,但无法获得行动类中的参数值 – Srivathsan

+0

你有没有尝试过相同的代码?因为代码 –

+0

中存在拼写错误,所以我尝试了相同的代码。 – Srivathsan

0

有两个struts标签可以在页面上生成复选框项。

checkboxlist

checkbox

标签的CheckBoxList用于填充从地图,列表或数组的复选框。这将生成复选框以符合您提供的结构中的项目数量。 list属性是强制性的,用于指定列表或映射或数组。提交表单时,要获取操作对象中的选定项目,请使用属性name对其进行映射。即要获取选定的项目,请指定name属性,在操作类中定义一个具有相同名称的数组或列表,为数组或列表提供getter和setter。您可以参考下面的讨论,以了解更多:

http://www.mkyong.com/struts2/struts-2-scheckboxlist-multiple-check-boxes-example/

checkbox标签将产生你的网页上的单个复选框项。这是相对简单和易于实施的。请参考下面的链接去了解它是如何工作的:

http://www.mkyong.com/struts2/struts-2-scheckbox-checkbox-example/

而且,为了验证复选框项目,可以为您处理基本的HTML + JavaScript的执行逻辑。您可以使用cssClass属性在使用checkboxlist时指定html类,然后使用jQuery按类选择以获取项目并进行验证。

+1

我试过,但事情是我的参数值为空... – Srivathsan

+0

验证您的代码有错误。指定a而不是ay。 public void setA(String [] ay){this.a = a;} –

+0

我试过但没有得到参数值 – Srivathsan