在<s:checkbox>标签</s:复选框>中设置默认值

时间:2014-06-17 05:01:51

标签: checkbox struts2 struts-tags

我正在使用Struts 2.3的<s:checkbox> 以下是代码行

<s:checkbox  theme="simple" name ="Mychkbox" value="R" onclick="Auto_Au('rej');"/>

现在在这里我需要这个值在行动,但我没有找到任何方法设置这个值&#34; R&#34;因为 fieldValue的{​​{1}}参数将给出真或假。

我需要将值设置为&#39; R&#39;可以在动作类中访问

你们中的任何一个人都这样做了。 任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:0)

如果您使用私有布尔Mychkbox;它给出了像true或false的结果。将它的布尔值更正为String数据类型。

您的值必须在fieldValue =“R”中设置

action.jsp

    <s:form action="mylogin">
     <s:checkbox  theme="simple" name ="Mychkbox" fieldValue="R" value="true" onclick="Auto_Au('rej');"/>
     </s:form>

MyAction.class

    private String Mychkbox;
     public String execute() throws Exception {
          System.out.Println(" vaue : "+Mychkbox);
     }

value attributes-boolean type。(UI组件值集)

fieldValue属性 - 字符串类型(Mychkbox的值)

答案 1 :(得分:0)

<s:checkbox name="checkMe" fieldValue="true" label="Check Me for testing"/> 这是Checkbox的语法。使用相同的名称(此处名称为'checkMe')并在动作类中添加getter和setter方法,我们可以在动作类中获取此值。 示例:我的Action.class

private String checkMe;

public String getCheckMe() {
        return checkMe;
    }
public void setCheckMe(String checkMe) {
        this.checkMe = checkMe;
    }

通过使用getCheckMe()方法,我们可以得到复选框'checkMe'的值。

在您的示例中,使用“mychkbox”而不是“checkMe”。 这个网站有一个简单的例子/ Struts 2 checkbox Checkbox Example

答案 2 :(得分:0)

您需要使用以下setter

在目标操作中使用属性
setMychkbox(String mychkbox){
    this.mychkbox = mychkbox;
}

但您在name属性中使用大写字母,这将阻止Struts2正确映射。

将其更改为

<s:checkbox theme="simple" name ="mychkbox" value="R" onclick="Auto_Au('rej');"/>

以小写字母m开头,以使其正常工作。

答案 3 :(得分:0)

默认提交的checkbox输入字段的值设置为true。您可以通过提供fieldValue标记的checkbox属性来更改此设置。例如

<s:checkbox  theme="simple" name ="mychkbox" fieldValue="R" onclick="Auto_Au('rej');"/>

如果要预设输入元素的值,则应提供value属性。例如

<s:checkbox  theme="simple" name ="mychkbox" fieldValue="R" value="%{mychkbox}" onclick="Auto_Au('rej');"/>

请注意,为了更好的可读性,我更改了字段的名称。要将字段名称映射到操作bean,您应该为mychkbox提供属性。

private String mychkbox;

public String getMychkbox() {
  return mychkbox;
}

public void setMychkbox(String mychkbox) {
  this.mychkbox= mychkbox;
} 

默认的拦截器堆栈包括checkbox interceptor,您应为其指定uncheckedValue参数。为此,您应该覆盖拦截器的参数

<interceptor-ref name="checkbox">
  <param name="uncheckedValue">undefined</param>
</interceptor-ref>