1

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

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

现在在这里我需要这个值,但我没有找到任何方法来设置这个值"R",因为fieldValueParameter <s:checkbox> 将给出trueor false

我需要设置'R'可以在操作类中访问的值。

4

4 回答 4

0

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

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

动作.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);
     }

值属性-布尔类型。(UI组件值集)

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

于 2014-06-17T05:34:21.980 回答
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拦截器的默认堆栈包括您应该为其指定uncheckedValue参数的拦截器。为此,您应该覆盖拦截器的参数

<interceptor-ref name="checkbox">
  <param name="uncheckedValue">undefined</param>
</interceptor-ref>
于 2014-06-17T11:17:31.510 回答
0

您需要在目标操作中使用以下设置器的属性

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

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

将其更改为

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

用小写字母开始m使它起作用。

于 2014-06-17T09:21:29.780 回答
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

于 2014-06-17T07:30:40.060 回答