我找不到在EL / JSTL中执行此操作的方法,因此在执行此操作时:
<%
int myIntPrimitiveValue = pageContext.getAttribute("myDataObject.myIntPrimitiveValue");
MyEnumObject myEnumInstance = myEnumObject.get(myIntPrimitiveValue);
String myEnumValueName = myEnumInstance.getName();
pageContext.setAttribute("myEnumValueName", myEnumValueName);
%>
我收到此错误:
Cannot cast from Object to int (line 1 in this snippet)
我知道
myDataObject.myIntPrimitiveValue
中有一个有效值,因为我可以使用JSTL这样打印它:<c:out value="${myDataObject.myIntPrimitiveValue}"/>
我在这里做错了什么?
最佳答案
这是因为:
pageContext.getAttribute()
返回对象
您需要将Object转换为int。例如:
int myIntPrimitiveValue = Integer.valueOf("" + pageContext.getAttribute("..."));