Hi,
I am using Myfaces 1.1.3, with Spring 2.0. When I try to reference a managed bean in my jsp files, I get a StringIndexOutOfBoundsException (String index out of range: -1) thrown. I cannot understand for the life of me why this is being thrown. It bubbles up to the top of the exception stack as a failure in setting a property:
javax.faces.el.PropertyNotFoundException: _expression_: '#{FtpSitesPage.siteList}'. Below are some application details, any help would be greatly appreciated.
Regards,
Faisal
Here is my faces-config.xml for the managed bean. I use Springs delegating variable resolver for the managed property, however, I know that this isn't the problem, as the exception gets thrown even if I comment out the managed property part.
<managed-bean>
<managed-bean-name>FtpSitesPage</managed-bean-name>
<managed-bean-class>
com.warnerbros.mam.saw.jsf.page.FtpSitesPage
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>ftpSiteDelegate</property-name>
<value>>#{ftpSiteDelegate}</value>
</managed-property>
</managed-bean>
Here is the jsp page (ftpSites.jsp) where the exception is thrown:
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core
" prefix="f"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
<%
String path = request.getContextPath
();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01 Transitional//EN">
<f:view>
<html>
<head>
<f:loadBundle
basename="com.warnerbros.mam.saw.jsf.msg.MessageResources"
var="bundle" />
<title><h:outputText value="#{bundle.ftpSites_page_title}" />
</title>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<link rel="stylesheet" type="text/css"
href="" />
<link rel="stylesheet" type="text/css"
href=""
" />
</head>
<body>
<div id="top"></div>
<!-- #### Header #### -->
<div id="header">
<span class="headerTitle"><h:outputText
value="#{bundle.global_logo}" /> </span>
<div class="menuBar">
<%@ include file="/menus/topnav.jsp"%>
</div>
</div>
<div id="bodyText">
<h:form id="ftpSitesListForm">
<h:outputText value="#{bundle.ftpSites_page_welcome}" style="font-family: tahoma, sans-serif; font-weight: bold;" />
<br />
<h:commandButton action="" value="#{
bundle.ftpSites_btn_new}" />
<br /><br />
<h:dataTable value="#{FtpSitesPage.siteList}" var="v" border="0">
<h:column>
<f:facet name="header">
<h:outputText value="#{bundle.ftpSites_tbl_name_hdr}" style="text-decoration: underline" />
</f:facet>
<h:outputText value="#{v.siteName}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{bundle.ftpSites_tbl_address_hdr}"
style="text-decoration: underline" />
</f:facet>
<h:outputText value="#{v.siteUrl}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{bundle.ftpSites_tbl_login_name_hdr}"
style="text-decoration: underline" />
</f:facet>
<h:outputText value="#{v.loginName}" />
</h:column>
<h:column>
<t:commandLink value="#{bundle.ftpSites_lnk_edit}" action=""> <f:param name="ftpSiteId" value="#{v.siteId
}"/>
</t:commandLink>
</h:column>
</h:dataTable>
</h:form>
</div>
</body>
</html>
</f:view>
Here is the full stack trace:
2006-08-08 11:34:47 ApplicationDispatcher[/saw] Servlet.service() for servlet jsp threw exception
j
avax.faces.el.PropertyNotFoundException: _expression_: '#{FtpSitesPage.siteList}'
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:397)
at javax.faces.component.UIData.getValue(UIData.java
:1019)
at javax.faces.component.UIData.createDataModel(UIData.java:785)
at javax.faces.component.UIData.getDataModel(UIData.java:765)
at javax.faces.component.UIData.getRowCount(UIData.java:191)
at
org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeInnerHtml(HtmlTableRendererBase.java:140)
at org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeChildren(HtmlTableRendererBase.java
:100)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:480)
at javax.faces.webapp.UIComponentTag.doEndTag
(UIComponentTag.java:361)
at org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:54)
at org.apache.jsp.file.ftp.ftpSites_jsp._jspx_meth_h_dataTable_0(ftpSites_jsp.java:727)
at org.apache.jsp.file.ftp.ftpSites_jsp._jspx_meth_h_form_1(ftpSites_jsp.java:635)
at org.apache.jsp.file.ftp.ftpSites_jsp._jspService(ftpSites_jsp.java:170)
at org.apache.jasper.runtime.HttpJspBase.service
(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile
(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java
:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward
(ApplicationDispatcher.java:312)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView
(JspViewHandlerImpl.java:234)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java
:144)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring
(String.java:1444)
at org.apache.myfaces.config.ManagedBeanBuilder.extractExpressions(ManagedBeanBuilder.java:402)
at org.apache.myfaces.config.ManagedBeanBuilder.isInValidScope(ManagedBeanBuilder.java:208)
at org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:167)
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:56)
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable
(VariableResolverImpl.java:311)
at org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(DelegatingVariableResolver.java:108)
at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable
(LastVariableResolverInChain.java:42)
at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:574)
at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383)
... 56 more
2006-08-08 11:34:47 StandardWrapperValve[Faces Servlet]:
Servlet.service() for servlet Faces Servlet threw exception
javax.faces.FacesException: _expression_: '#{FtpSitesPage.siteList}'
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch
(ServletExternalContextImpl.java:435)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java
:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(
CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java
:534)
Caused by: javax.faces.el.PropertyNotFoundException: _expression_: '#{FtpSitesPage.siteList}'
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:397)
at javax.faces.component.UIData.getValue(UIData.java:1019)
at javax.faces.component.UIData.createDataModel(UIData.java:785)
at javax.faces.component.UIData.getDataModel(UIData.java:765)
at javax.faces.component.UIData.getRowCount
(UIData.java:191)
at org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeInnerHtml(HtmlTableRendererBase.java:140)
at org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeChildren
(HtmlTableRendererBase.java:100)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:480)
at javax.faces.webapp.UIComponentTag.doEndTag
(UIComponentTag.java:361)
at org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:54)
at org.apache.jsp.file.ftp.ftpSites_jsp._jspx_meth_h_dataTable_0(ftpSites_jsp.java:727)
at org.apache.jsp.file.ftp.ftpSites_jsp._jspx_meth_h_form_1(ftpSites_jsp.java:635)
at org.apache.jsp.file.ftp.ftpSites_jsp._jspService(ftpSites_jsp.java:170)
at org.apache.jasper.runtime.HttpJspBase.service
(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile
(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java
:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward
(ApplicationDispatcher.java:312)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)
... 30 more
Caused by: java.lang.StringIndexOutOfBoundsException
: String index out of range: -1
at java.lang.String.substring(String.java:1444)
at org.apache.myfaces.config.ManagedBeanBuilder.extractExpressions(ManagedBeanBuilder.java:402)
at org.apache.myfaces.config.ManagedBeanBuilder.isInValidScope
(ManagedBeanBuilder.java:208)
at org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:167)
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java
:56)
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:311)
at org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(DelegatingVariableResolver.java:108)
at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42)
at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java
:574)
at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java
:383)
... 56 more
- Issue with referencing a ManagedBean Faisal Mahmoud
- Re: Issue with referencing a ManagedBean octoberdan
- RE: Issue with referencing a ManagedBean Faisal Mahmoud
- FW: Issue with referencing a ManagedBean Faisal Mahmoud
- FW: Issue with referencing a ManagedBean Faisal Mahmoud
- Issue with referencing a ManagedBean Faisal Mahmoud
- RE: Issue with referencing a ManagedBean David Friedman

