Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 和的行为不同_Jsp_Jakarta Ee_Checkbox_Struts2_Struts1 - Fatal编程技术网

Jsp 和的行为不同

Jsp 和的行为不同,jsp,jakarta-ee,checkbox,struts2,struts1,Jsp,Jakarta Ee,Checkbox,Struts2,Struts1,我正在将复选框从Struts1迁移到Struts2。 所以我改变了Struts1的代码 到 但即使值为true,我也不会选中复选框 下面是两者的html脚本 Struts1 html: Struts2 html: 该字段是布尔值。我在action类中从模型对象中获得的值为true。但它仍然未选中 更新: 我试过了,但没有成功 更新1: 我尝试了这一点,但没有选中的属性,因此它不会被选中,尽管它的值为true 更新2: 当我打印时,即,我得到的值为true 但是我把它放在value属性中,它仍然没

我正在将复选框从Struts1迁移到Struts2。 所以我改变了Struts1的代码

但即使值为true,我也不会选中复选框

下面是两者的html脚本

Struts1 html:

Struts2 html:

该字段是布尔值。我在action类中从模型对象中获得的值为true。但它仍然未选中

更新:

我试过了,但没有成功

更新1:

我尝试了这一点,但没有选中的属性,因此它不会被选中,尽管它的值为true

更新2:

当我打印时,即,我得到的值为true 但是我把它放在value属性中,它仍然没有checked属性

<s:checkbox theme="simple" cssStyle="border:0px" name="eDir" disabled="true" fieldValue="on"/>
Struts2复选框标记的行为与Struts1中的类似标记不同

并且,正如您所提到的,Struts2为单个复选框创建两个输入字段-一个用于选中值,另一个用于未选中值

然后通过其中一个检查。拦截器的默认堆栈包括处理提交的值的拦截器

如果您使用的是Struts2复选框,并且希望使用字段值不是布尔值,那么您应该使用fieldValue属性

<s:checkbox theme="simple" cssStyle="border:0px" name="eDir" disabled="true" fieldValue="on"/>

您是否正在尝试此示例字段的值为布尔值,我在html中得到的值为true,但仍然没有选中的属性,因为生成了Value=on,所以它不能为布尔值。第二个是布尔值,因为value=true。当我显式指定value=true时,它会选中复选框。但是我对jstl做的同样的事情,即value=${eDir}它是未选中的,当我在jsp${eDir}上打印时,它会给我true。有什么问题吗?你不能这样做,因为Struts标记没有jstl功能。