2

次のような java.lang.Integer 型の属性を持つ .tag ファイルがあります。

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

このタグに空の文字列を渡すと、属性はnullではなく0の値になります ( java.lang.Integerとすべてを使用することを望んでいたため)。

何か不足していますか?この場合、属性値を強制的にnullにする方法はありますか?

4

1 に答える 1

0

私の推測では、型変換が失敗した場合 (つまり、渡された値が整数として解析されないため、Integer.parseInt が NumberFormatException をスローした場合)、属性は 0 に初期化されます。 null オブジェクト参照。

代わりに、.tag ファイルに String 属性を含めるのはどうですか? 次に、その値をテストし (null または空など)、必要に応じて整数に変換できます。

于 2012-09-19T20:28:53.047 に答える