2010-05-26 41 views
0

如何在Struts 1.x框架中实例化一个Integer bean并赋值?如何在Struts 1.x中定义一个Integer bean

<bean:define id="index" type="java.lang.Integer" value="0"/> 

<bean:define id="index" type="java.lang.Integer" value="${0}"/> 

结果在一个:java.lang.ClassCastException:java.lang.String中

<bean:define id="index" type="java.lang.Integer" value="<%=0%>"/> 

结果:所述的方法SetValue(字符串) DefineTag类型不适用于参数(int)

<% java.lang.Integer index = new java.lang.Integer(0); %> 

工程,但让我的眼睛流血。

请注意,我不得不重构迭代列表,但现在在迭代中应用一个过滤器。这是所有的最干净的解决方案!

<logic:equal name="aplicacion" property="generico" value="false" indexId="index"> 

也许我需要对此有完全不同的看法。

回答

1

你不能默认bean类型为类型的

java.lang.String (if you specify a value attribute)

java.lang.Object otherwise.

0

试试这个。

<bean:define id="index" type="java.lang.Integer" value="<%=java.lang.String.valueOf(0)%>"/> 
+0

你的代码只是导致公司的猫跳出窗口!...和java.lang.ClassCastException。第二个例子几乎是一样的。 – 2010-06-07 14:07:20

0

入住这

<bean:define id="index" value = "0" /> 

并且参观http://j2ee.masslight.com/Chapter5.html的工作示例。

+0

你的例子可以在许多场合工作,比如数字字符串,但是...这仍然不是java.lang.Integer bean。我不知道上面第5章的例子会发生什么,如果有人发起了值为“07”的bean?无论如何。 – 2010-06-11 11:27:24