Strang bug - not evaluating expression
msduk Dec 19, 2007 11:28 AMI have a problem where I keep getting the following stack.
19-Dec-2007 16:23:13 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet Faces Servlet threw exception java.lang.NumberFormatException: For input string: "getEvidenceid" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at javax.el.ListELResolver.coerce(ListELResolver.java:166) at javax.el.ListELResolver.getValue(ListELResolver.java:51) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58) at org.apache.el.parser.AstValue.getValue(AstValue.java:97) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101) at javax.faces.component.UIOutput.getValue(UIOutput.java:176) at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:100) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:282) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:208) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:847) at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:286) at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262) at org.richfaces.renderkit.AbstractTableRenderer.encodeOneRow(AbstractTableRenderer.java:246) at org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:87) at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101) at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:994) at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:107) at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:92) at org.richfaces.renderkit.AbstractRowsRenderer.encodeChildren(AbstractRowsRenderer.java:139) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:827) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:883) at javax.faces.render.Renderer.encodeChildren(Renderer.java:137) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:827) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:883) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889) at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:258) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source)
My jsp inside tomcat is >
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%> <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <html> <head> <title>evidence</title> </head> <body> <f:view> <h:form> <rich:datascroller align="left" for="evidenceList" maxPages="20" /> <rich:spacer height="30" /> <rich:dataTable rows="10" id="evidenceList" value="#{bean.allEvidence}" var="evid"> <h:column> <f:facet name="header"> <h:outputText value="EvidenceId" /> </f:facet> <h:outputText value="#{evid.evidenceid}" /> </h:column> </rich:dataTable> </h:form> </f:view> </body> </html>
My entity is
package uk.ac.ukoln.impact.entity; import java.io.Serializable; import java.util.Set; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.OneToOne; @Entity public class Evidence implements Serializable { @Id private int evidenceid; private int msginid; @OneToOne @JoinTable(name="report_evidence", joinColumns=@JoinColumn(name="evidenceId"), inverseJoinColumns=@JoinColumn(name="reportId")) private Set<Report> reportCollection; private static final long serialVersionUID = 1L; public Evidence() { super(); } public int getEvidenceid() { return this.evidenceid; } public void setEvidenceid(int evidenceid) { this.evidenceid = evidenceid; } public String getEid() { return "jggf"; } public void setEid(String Eid) { } public int getMsginid() { return this.msginid; } public void setMsginid(int msginid) { this.msginid = msginid; } public Set<Report> getReportCollection() { return this.reportCollection; } public void setReportCollection(Set<Report> reportCollection) { this.reportCollection = reportCollection; } }
If i change line 26 of my jsp to
<h:outputText value="#{evid.getEvidenceid}" />
I get square bracketed output. To me it seems that the expression is not being evaluated. Any help is greatly appreciated