我收到错误
serverError:class java.lang.ClassCastException java.lang.Integer无法强制转换为java.lang.String
当我从<h:selectOneMenu>
组件中选择某些内容时会发生这种情况。
出现此错误的可能原因是什么?我没有编写任何JavaScript代码来生成警报。
<h:selectOneMenu>
组件根本不处理Integer。
有时我也会收到ArrayIndexOutOfBoundException 1
作为提醒。
<h:selectOneMenu id="vehiclenames" value="#{bean.selectedVehicle}">
<f:selectItem itemLabel="select one" itemValue=""/>
<f:selectItems value="#{vehicles}" />
<f:ajax event="change" listener="#{bean.catchValue}" render= "panel" />
</h:selectOneMenu>
答案 0 :(得分:3)
当您使用Mojarra并将javax.faces.PROJECT_STAGE
上下文参数设置为Development
时,会在ajax请求期间抛出异常时显示此警报。此警报旨在通知Web开发人员某些事情严重失败。
您应该在服务器日志中看到异常和完整堆栈跟踪。通常,它是由您自己的代码中的错误引起的。堆栈跟踪应该提供足够的线索。
对于“怪异”的异常处理,您可能需要考虑OmniFaces FullAjaxExceptionHandler
。这将让JSF ajax异常使用标准的web.xml
错误页面机制。另请参阅What is the correct way to deal with JSF 2.0 exceptions for AJAXified components?