我找不到在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("..."));

09-30 15:51