是否可以将基本类型(如布尔值)作为属性?
pageContext.setAttribute("boolValue", boolValue);
然后
<tiles:put name="boolValue" beanName="boolValue" type="boolean" />
在我使用的其他Jsp中:
<tiles:useAttribute name="boolValue" id="boolValue" classname="boolean" />
我收到此错误:
PWC6199: Generated servlet error:
string:///BaseBudgetLayout_jsp.java:124: incompatible types
found : <nulltype>
required: boolean
PWC6199: Generated servlet error:
string:///BaseBudgetLayout_jsp.java:125: inconvertible types
found : java.lang.Object
required: boolean
属性映射不能将基元作为值。鉴于需要
java.lang.Object
,Java 5 自动装箱会默默地将 boolean
原语转换为 java.lang.Boolean
实例。从技术上讲,这根本不是 boolean
,因此 Tiles 标签中的类型/类名将不匹配。
相反,使用
<tiles:put name="boolValue" beanName="boolValue" type="java.lang.Boolean" />
和
<tiles:useAttribute name="boolValue" id="boolValue" classname="java.lang.Boolean" />