[英]Passing empty string to .tag with a java.lang.Integer attribute results in 0 (not null)
我有一個.tag文件,其屬性類型為java.lang.Integer,如下所示:
<%@ attribute name="userId" required="true" type="java.lang.Integer"%>
當向此標記傳遞空字符串時,該屬性最終以0而不是null的值結束(正如我希望使用java.lang.Integer和all一樣)。
我想念什么嗎? 在這種情況下,有什么方法可以強制屬性值為空 ?
我的猜測是,如果類型轉換失敗(即,傳入的值將不會解析為Integer,則Integer.parseInt會引發NumberFormatException),則該屬性將初始化為0。這種區分情況是有意義的和一個空對象引用。
在.tag文件中改用String屬性怎么樣? 然后,您可以測試其值(例如null或empty等),並根據需要轉換為Integer。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.