Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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 在jstl中传递空或空布尔参数_Jsp_Jstl - Fatal编程技术网

Jsp 在jstl中传递空或空布尔参数

Jsp 在jstl中传递空或空布尔参数,jsp,jstl,Jsp,Jstl,在jstl中,我们可以声明一个空值的变量,如下所示- <c:set var="isCompleted" value=""/> 很明显,类型是对象布尔型的,所以我应该能够传递null 但当我将空值传递给标记时- <tagDir:testBoolean completed=${isCompleted}/> 它会自动将空转换为假 有什么方法可以在这里将null传递给boolean属性吗?在自定义标记中,必须将boolValue的类型指定为boolean,如果没有提供值或

在jstl中,我们可以声明一个空值的变量,如下所示-

<c:set var="isCompleted" value=""/>
很明显,类型是对象布尔型的,所以我应该能够传递null

但当我将空值传递给标记时-

<tagDir:testBoolean completed=${isCompleted}/>

它会自动将空转换为


有什么方法可以在这里将null传递给boolean属性吗?

在自定义标记中,必须将boolValue的类型指定为boolean,如果没有提供值或字符串不是true,则默认情况下为false。如果您想要设置的确切值,请尝试将其类型设置为字符串。

看起来boolValue是一个基本的
布尔值
而不是对象
布尔值
如果我的属性类型是java.lang.BooleanYes,这是预期的行为。除“true”之外的任何字符串都将由布尔包装类计算为false。对于您需要的预期行为,请将类型保留为字符串,然后您可以在自定义标记中对其进行操作。如果您使用java约定,这可能不是理想的行为,因为Boolean可以为null。关于您建议的解决方案,如果这是属性类型处理的实现,我同意您的意见,我必须传递字符串。
<tagDir:testBoolean completed=${isCompleted}/>