在 Struts 2 中将默认值设置为 <s:checkbox> 标签

问题描述 投票:0回答:4
jsp checkbox struts2 struts-tags
4个回答
0
投票

如果您使用私有布尔值Mychkbox;它给出像 true 或 false 这样的结果。将其纠正为字符串数据类型的布尔值。

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

action.jsp

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

我的Action.class

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

值属性-boolean类型。(UI组件值设置)

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


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 复选框复选框示例


0
投票

您的目标 Action 中需要一个具有以下设置器的属性

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

但是您在

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

更改为

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

以小写字母开头

m
以使其正常工作。


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