我有一个.tag文件,其属性类型为java.lang.Integer,如下所示:
<%@ attribute name="userId" required="true" type="java.lang.Integer"%>
将空字符串传递给此标记时,该属性的结果值为 0 ,而不是 null (因为我希望使用 java .lang.Integer 和所有)。
我错过了什么吗?在这种情况下,有没有办法强制属性值为 null ?
答案 0 :(得分:0)
我的猜测是,如果类型转换失败(即传入的值不会解析为整数,因此Integer.parseInt会抛出NumberFormatException),那么该属性初始化为0.这种区分是有意义的在该案例和空对象引用之间。
如何在.tag文件中使用String属性?然后,您可以测试它的值(对于null或为空等)并根据需要转换为Integer。