Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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

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
将空字符串传递给带有java.lang.Integer属性的.tag会导致0(非空)_Java_Jsp_Jsp Tags - Fatal编程技术网

将空字符串传递给带有java.lang.Integer属性的.tag会导致0(非空)

将空字符串传递给带有java.lang.Integer属性的.tag会导致0(非空),java,jsp,jsp-tags,Java,Jsp,Jsp Tags,我有一个.tag文件,其属性类型为java.lang.Integer,如下所示: <%@ attribute name="userId" required="true" type="java.lang.Integer"%> 将空字符串传递到此标记时,该属性的值为0,而不是null(我希望使用java.lang.Integer和all) 我错过什么了吗?在这种情况下,有没有办法强制属性值为null?我的猜测是,如果类型转换失败(即传入的值不会解析为整数,因此Integer.par

我有一个.tag文件,其属性类型为java.lang.Integer,如下所示:

<%@ attribute name="userId" required="true" type="java.lang.Integer"%>

将空字符串传递到此标记时,该属性的值为0,而不是null(我希望使用java.lang.Integer和all)


我错过什么了吗?在这种情况下,有没有办法强制属性值为null

我的猜测是,如果类型转换失败(即传入的值不会解析为整数,因此Integer.parseInt抛出NumberFormatException),那么属性将初始化为0。这种方法很有意义,因为它区分了这种情况和空对象引用


在.tag文件中使用字符串属性如何?然后,您可以测试它的值(null或empty等),并根据需要转换为整数

我的猜测是,如果类型转换失败(即传入的值不会解析为整数,因此Integer.parseInt抛出NumberFormatException),则属性将初始化为0。这种方法很有意义,因为它区分了这种情况和空对象引用


在.tag文件中使用字符串属性如何?然后,您可以测试它的值(null或empty等),并根据需要转换为整数

将属性定义为字符串确实可以像您所建议的那样工作,我只是希望在使用bum值调用标记时可以强制执行异常。这在这里解释得非常清楚:。它与您正在使用的Tomcat版本相关。Tomcat 8修复了这种行为,或者您可以设置一个系统属性:-Dorg.apache.el.parser.convere_TO_ZERO=false将属性定义为字符串确实可以像您建议的那样工作,我只是希望在调用带有bum值的标记时可以强制执行异常。这里解释得非常清楚:。它与您正在使用的Tomcat版本相关。Tomcat8修复了这种行为,或者您可以设置一个系统属性:-Dorg.apache.el.parser.concure\u TO\u ZERO=false