Struts 1 - Tiles put boolean属性

时间:2012-12-21 17:00:08

标签: jsp struts tiles

是否可以放置基本类型,如布尔值作为属性?

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

1 个答案:

答案 0 :(得分:2)

属性映射不能将基元保存为值。鉴于需要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" />