You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by ba...@accelrys.com on 2003/05/15 19:59:04 UTC

Can't get definitions factory from context.

Hello,

I've just started a new project and decided that I would use titles. I 
started off running against Tomcat 4.1.24 to quickly proptype some pages 
and everything was fine. I need to connect to an ejb and stuff now, so I 
need to run against JBoss 3.0.3. I get the following error when trying to 
cdisplay the index page:

18:36:26,748 WARN  [jbossweb] WARNING: Exception for /webio/
javax.servlet.jsp.JspException: Can't get definitions factory from 
context.
        at 
org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:568)
        at 
org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:480)
        at 
org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:444)
        at org.apache.jsp.index$jsp._jspService(index$jsp.java:72)
        at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
        at 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
        at 
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:284)
        at 
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:216)
        at 
org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:151)
        at org.mortbay.jetty.servlet.Default.handleGet(Default.java:232)
        at org.mortbay.jetty.servlet.Default.service(Default.java:146)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
        at 
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:284)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:577)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1674)
        at 
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:544)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1624)
        at org.mortbay.http.HttpServer.service(HttpServer.java:875)
        at org.jboss.jetty.Jetty.service(Jetty.java:541)
        at 
org.mortbay.http.HttpConnection.service(HttpConnection.java:785)
        at 
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:935)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:802)
        at 
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:200)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:294)
        at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
        at java.lang.Thread.run(Thread.java:536)

The page I'm trying to connect to contains:

<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>

<tiles:insert definition="webio.withLogout">
  <tiles:put name="pageTitle"><bean:message key="mainMenu.title" 
/></tiles:put>
  <tiles:put name="bodyContent" 
value="/protected-content/main-menu-content.jsp" />
</tiles:insert>

I'm loading the definitions through an xml file througt the strust config 
file:

  <!-- Plugins... -->
  <plug-in className="org.apache.struts.tiles.TilesPlugin">
    <set-property property="definitions-config" 
value="/WEB-INF/tiles-defs.xml" />
    <set-property property="definitions-debug" value="2" />
    <set-property property="definitions-parser-details" value="2" />
    <set-property property="definitions-parser-validate" value="true" />
  </plug-in>

and:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE tiles-definitions PUBLIC
          "-//Apache Software Foundation//DTD Tiles Configuration//EN"
          "http://jakarta.apache.org/struts/dtds/tiles-config.dtd">

<tiles-definitions>
  <definition name="webio.default" path="/layouts/DefaultLayout.jsp">
    <put name="header" value="/common/header.jsp" />
    <put name="footer" value="/common/footer.jsp" />
  </definition>

  <definition name="webio.withLogout" extends="webio.default" 
path="/layouts/LogoutLayout.jsp">
    <put name="logout" value="/common/logout.jsp" />
  </definition> 
</tiles-definitions>

I've been using the Programming Jakarta Struts O'Reilly book and there 
seems ot be some errors in it, but I managed to get round them all and get 
working on Tomcat.

Does anyone know why it's now failing onJBOss...? I'd hate to have to go 
back nad strip all the tiles stuff out as it seems really quite trick.

Cheers,

-- 
Bob Arnott
Software Engineer, Consulting
Accelrys Ltd.
334 Cambridge Science Park
Cambridge, CB4 0WN
+44 (0) 1223 228621

---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Re: Can't get definitions factory from context.

Posted by Cedric Dumoulin <ce...@apache.org>.
  Do you have tried with the latest struts nightly builds ?

     Cedric

barnott@accelrys.com wrote:

>Hello,
>
>I've just started a new project and decided that I would use titles. I 
>started off running against Tomcat 4.1.24 to quickly proptype some pages 
>and everything was fine. I need to connect to an ejb and stuff now, so I 
>need to run against JBoss 3.0.3. I get the following error when trying to 
>cdisplay the index page:
>
>18:36:26,748 WARN  [jbossweb] WARNING: Exception for /webio/
>javax.servlet.jsp.JspException: Can't get definitions factory from 
>context.
>        at 
>org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:568)
>        at 
>org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:480)
>        at 
>org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:444)
>        at org.apache.jsp.index$jsp._jspService(index$jsp.java:72)
>        at 
>org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>        at 
>org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
>        at 
>org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
>        at 
>org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>        at 
>org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
>        at 
>org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:284)
>        at 
>org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:216)
>        at 
>org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:151)
>        at org.mortbay.jetty.servlet.Default.handleGet(Default.java:232)
>        at org.mortbay.jetty.servlet.Default.service(Default.java:146)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>        at 
>org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
>        at 
>org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:284)
>        at 
>org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:577)
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1674)
>        at 
>org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:544)
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1624)
>        at org.mortbay.http.HttpServer.service(HttpServer.java:875)
>        at org.jboss.jetty.Jetty.service(Jetty.java:541)
>        at 
>org.mortbay.http.HttpConnection.service(HttpConnection.java:785)
>        at 
>org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:935)
>        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:802)
>        at 
>org.mortbay.http.SocketListener.handleConnection(SocketListener.java:200)
>        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:294)
>        at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
>        at java.lang.Thread.run(Thread.java:536)
>
>The page I'm trying to connect to contains:
>
><%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
><%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
>
><tiles:insert definition="webio.withLogout">
>  <tiles:put name="pageTitle"><bean:message key="mainMenu.title" 
>/></tiles:put>
>  <tiles:put name="bodyContent" 
>value="/protected-content/main-menu-content.jsp" />
></tiles:insert>
>
>I'm loading the definitions through an xml file througt the strust config 
>file:
>
>  <!-- Plugins... -->
>  <plug-in className="org.apache.struts.tiles.TilesPlugin">
>    <set-property property="definitions-config" 
>value="/WEB-INF/tiles-defs.xml" />
>    <set-property property="definitions-debug" value="2" />
>    <set-property property="definitions-parser-details" value="2" />
>    <set-property property="definitions-parser-validate" value="true" />
>  </plug-in>
>
>and:
>
><?xml version="1.0" encoding="UTF-8"?>
>
><!DOCTYPE tiles-definitions PUBLIC
>          "-//Apache Software Foundation//DTD Tiles Configuration//EN"
>          "http://jakarta.apache.org/struts/dtds/tiles-config.dtd">
>
><tiles-definitions>
>  <definition name="webio.default" path="/layouts/DefaultLayout.jsp">
>    <put name="header" value="/common/header.jsp" />
>    <put name="footer" value="/common/footer.jsp" />
>  </definition>
>
>  <definition name="webio.withLogout" extends="webio.default" 
>path="/layouts/LogoutLayout.jsp">
>    <put name="logout" value="/common/logout.jsp" />
>  </definition> 
></tiles-definitions>
>
>I've been using the Programming Jakarta Struts O'Reilly book and there 
>seems ot be some errors in it, but I managed to get round them all and get 
>working on Tomcat.
>
>Does anyone know why it's now failing onJBOss...? I'd hate to have to go 
>back nad strip all the tiles stuff out as it seems really quite trick.
>
>Cheers,
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org