Struts 1 - Tiles 放置布尔属性

问题描述 投票:0回答:1

是否可以将基本类型(如布尔值)作为属性?

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
jsp tiles struts-1
1个回答
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" />
© www.soinside.com 2019 - 2024. All rights reserved.