You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Vernon <ve...@gatewaytech.com> on 2003/04/04 05:41:24 UTC

Please help a Tiles problem

1. The error message:

root cause

javax.servlet.ServletException: Can't get definitions factory from context.
	at 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533)
	at org.apache.jsp.page_jsp._jspService(page_jsp.java:189)

2. The translated JSP file

  public void _jspService(HttpServletRequest request, HttpServletResponse 
response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    javax.servlet.jsp.PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;


    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html;charset=ISO-8859-1");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n");
      out.write("\r\n");
      out.write("\r\n\r\n");
      if (_jspx_meth_c_if_0(pageContext))
        return;
      out.write("\r\n");
      if (_jspx_meth_c_if_1(pageContext))
        return;
// ...
      out.write("\r\n");
      if (_jspx_meth_c_if_37(pageContext))
        return;
      out.write("\r\n\r\n\r\n\r\n\r\n\r\n\r\n");
      out.write("\r\n\r\n");
      if (_jspx_meth_tiles_insert_0(pageContext))
        return;
    } catch (Throwable t) {
      out = _jspx_out;
      if (out != null && out.getBufferSize() != 0)
        out.clearBuffer();
      if (pageContext != null) pageContext.handlePageException(t); <---- 
line 189
    } finally {
      if (_jspxFactory != null) 
_jspxFactory.releasePageContext(pageContext);
    }
    3. The JSP file with the definitions

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

<c:if test="${empty applicationScope.FRONT}">
    <tiles:definition id="FRONT" template="/jsp/templates/myLayout.jsp">
        <put name="title"  value="Front Page" />
        <put name="header" value="/jsp/signon/header.jsp" />
        <put name="footer" value="/jsp/homepage/footer.jsp" />
        <put name="body"   value="/jsp/frontpage/content.jsp" />
    </tiles:definition>
</c:if>
<c:if test="${empty applicationScope.SIGNON}">
    <tiles:definition id="SIGNON" extends="FRONT">
        <put name="title"  value="Sign On" />
        <put name="body"   value="/jsp/signon/content.jsp" />
    </tiles:definition>
</c:if>
<!--

....
-->

If I erase all defintions, but keep the first one, the attributes wouldn't 
loaded.

The Tiles is from http://www.lifl.fr/~dumoulin/tiles/.

I don't have any JSP debugging tool. Can someone please tell me where is 
wrong or how to find out the cause.

Vernon

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


Re: Please help a Tiles problem

Posted by Cedric Dumoulin <ce...@lifl.fr>.
  Hi,

  Sorry for the long delay.

  Tiles can be used without struts. The tiles distribution from this 
site (http://www.lifl.fr/~dumoulin/tiles/) contains a tiles-blank.war 
file that do all the initialization needed. You can start from this file.

    Cedric

Vernon wrote:

>
> I start getting quite frustrated on this issue after a few days of 
> researching on the Tiles home page, Tiles Struts home page, Struts 
> email archive, the tiles-documentation.war, and google on Tiles. The 
> whole development is stop at this point.
>
> I have read somewhere at the email archive: it is not need to process 
> the initialition if the definition is stored in a JSP file, which is 
> the case I posted my previous post.
>
> I change the definition method, using a xml file instead. After having 
> a xml file and modification of web.xml, I get the logging message when 
> I start/reload the applicaiton:
>
> 8242 DEBUG [main] 
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet     (I18n
> FactorySet.java:301) - definitions={FRONT={name=FRONT, 
> path=/jsp/templates/mmSig
> nUpLayout.jsp, role=null, controller=null, controllerType=null, 
> controllerInstan
> ce=null, attributes={footer=/jsp/homepage/footer.jsp, title=Front 
> Page, header=/
> jsp/signon/header.jsp, body=/jsp/frontpage/content.jsp}}
> }
> 8282 DEBUG [main] 
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet     (I18n
> FactorySet.java:305) - factory loaded : {FRONT={name=FRONT, 
> path=/jsp/templates/
> mmSignUpLayout.jsp, role=null, controller=null, controllerType=null, 
> controllerI
> nstance=null, attributes={footer=/jsp/homepage/footer.jsp, title=Front 
> Page, hea
> der=/jsp/signon/header.jsp, body=/jsp/frontpage/content.jsp}}
> }
> 8292 DEBUG [main] 
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet     (I18n
> FactorySet.java:269) - default factory:{FRONT={name=FRONT, 
> path=/jsp/templates/m
> mSignUpLayout.jsp, role=null, controller=null, controllerType=null, 
> controllerIn
> stance=null, attributes={footer=/jsp/homepage/footer.jsp, title=Front 
> Page, head
> er=/jsp/signon/header.jsp, body=/jsp/frontpage/content.jsp}}
> }
> 8302 DEBUG [main] 
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet     (I18n
> FactorySet.java:217) - Factory initialized from file '/WEB-INF/tiles- 
> defs.xml'.
> 8312 INFO  [main]  org.apache.struts.tiles.TilesServlet     
> (TilesServlet.java:1
> 17) - Tiles Factory successfully loaded
>
> The definition seems in place. However, when I point to the url of a 
> page, I get the following error messages:
>
> java.lang.NullPointerException
>     at 
> org.apache.struts.taglib.tiles.InsertTag.processName(InsertTag.java:527)
>     at 
> org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:486) 
>
>     at 
> org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:444)
>     at 
> org.apache.jsp.page_jsp._jspx_meth_tiles_insert_0(page_jsp.java:73)
>     at org.apache.jsp.page_jsp._jspService(page_jsp.java:52)
> ...
>
> And in the translated JSP Java file, there is
>
>  public void _jspService(HttpServletRequest request, 
> HttpServletResponse response)
>        throws java.io.IOException, ServletException {
>
>    JspFactory _jspxFactory = null;
>    javax.servlet.jsp.PageContext pageContext = null;
>    HttpSession session = null;
>    ServletContext application = null;
>    ServletConfig config = null;
>    JspWriter out = null;
>    Object page = this;
>    JspWriter _jspx_out = null;
>
>
>    try {
>      _jspxFactory = JspFactory.getDefaultFactory();
>      response.setContentType("text/html;charset=ISO-8859-1");
>      pageContext = _jspxFactory.getPageContext(this, request, response,
>                  null, true, 8192, true);
>      application = pageContext.getServletContext();
>      config = pageContext.getServletConfig();
>      session = pageContext.getSession();
>      out = pageContext.getOut();
>      _jspx_out = out;
>
>      out.write("\r\n\r\n");
>      if (_jspx_meth_tiles_insert_0(pageContext))   <======= line 52
>        return;
>    } catch (Throwable t) {
>      out = _jspx_out;
>      if (out != null && out.getBufferSize() != 0)
>        out.clearBuffer();
>      if (pageContext != null) pageContext.handlePageException(t);
>    } finally {
>      if (_jspxFactory != null) 
> _jspxFactory.releasePageContext(pageContext);
>    }
>  }
>
>  private boolean 
> _jspx_meth_tiles_insert_0(javax.servlet.jsp.PageContext pageContext)
>          throws Throwable {
>    JspWriter out = pageContext.getOut();
>    /* ----  tiles:insert ---- */
>    org.apache.struts.taglib.tiles.InsertTag _jspx_th_tiles_insert_0 = 
> (org.apache.struts.taglib.tiles.InsertTag) 
> _jspx_tagPool_tiles_insert_name_flush.get(org.apache.struts.taglib.tiles.InsertTag.class) 
> ;
>    _jspx_th_tiles_insert_0.setPageContext(pageContext);
>    _jspx_th_tiles_insert_0.setParent(null);
>    _jspx_th_tiles_insert_0.setName("FRONT");
>    _jspx_th_tiles_insert_0.setFlush(true);
>    int _jspx_eval_tiles_insert_0 = _jspx_th_tiles_insert_0.doStartTag();
>    if (_jspx_th_tiles_insert_0.doEndTag() == 
> javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
>      return true;
>    _jspx_tagPool_tiles_insert_name_flush.reuse(_jspx_th_tiles_insert_0);
>    return false;
>  }
>
> If my understanding is right, the definition of "FRONT" can be found. 
> The JSP file have the following two lines:
>
> <%@ taglib uri='/WEB-INF/tlds/struts-tiles.tld' prefix='tiles' %>
>
> <tiles:insert name="FRONT" flush="true" />
>
> What is missing here?
>
>
>  On Fri, 04 Apr 2003 07:01:55 -0800, Vernon <ve...@gatewaytech.com> 
> wrote:
>
>>
>> Thanks very much for your information, Cedric.
>>
>> I have read through the Tiles related articles linked to the 
>> Struts-Tiles page, and have not seen the plug in procedure for 
>> standalone usage. A plugin procedure, I find, is on the following 
>> page 
>> http://www.onjava.com/pub/a/onjava/excerpt/progjakstruts_14/index2.html. 
>> It is about Struts. I don't use Struts however. How I initialize the 
>> Tiles?
>>
>>
>> On Fri, 04 Apr 2003 10:12:48 +0200, Cedric Dumoulin 
>> <ce...@apache.org> wrote:
>>
>>>
>>> The error message says that the definition factory is not found. 
>>> Have you initialized the tile plugin ?
>>>
>>> Cedric
>>>
>>> Vernon wrote:
>>>
>>>> 1. The error message:
>>>>
>>>> root cause
>>>>
>>>> javax.servlet.ServletException: Can't get definitions factory from 
>>>> context.
>>>> at 
>>>> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533) 
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> at org.apache.jsp.page_jsp._jspService(page_jsp.java:189)
>>>>
>>>> 2. The translated JSP file
>>>>
>>>> public void _jspService(HttpServletRequest request, 
>>>> HttpServletResponse response)
>>>> throws java.io.IOException, ServletException {
>>>>
>>>> JspFactory _jspxFactory = null;
>>>> javax.servlet.jsp.PageContext pageContext = null;
>>>> HttpSession session = null;
>>>> ServletContext application = null;
>>>> ServletConfig config = null;
>>>> JspWriter out = null;
>>>> Object page = this;
>>>> JspWriter _jspx_out = null;
>>>>
>>>>
>>>> try {
>>>> _jspxFactory = JspFactory.getDefaultFactory();
>>>> response.setContentType("text/html;charset=ISO-8859-1");
>>>> pageContext = _jspxFactory.getPageContext(this, request, response,
>>>> null, true, 8192, true);
>>>> application = pageContext.getServletContext();
>>>> config = pageContext.getServletConfig();
>>>> session = pageContext.getSession();
>>>> out = pageContext.getOut();
>>>> _jspx_out = out;
>>>>
>>>> out.write("\r\n");
>>>> out.write("\r\n");
>>>> out.write("\r\n\r\n");
>>>> if (_jspx_meth_c_if_0(pageContext))
>>>> return;
>>>> out.write("\r\n");
>>>> if (_jspx_meth_c_if_1(pageContext))
>>>> return;
>>>> // ...
>>>> out.write("\r\n");
>>>> if (_jspx_meth_c_if_37(pageContext))
>>>> return;
>>>> out.write("\r\n\r\n\r\n\r\n\r\n\r\n\r\n");
>>>> out.write("\r\n\r\n");
>>>> if (_jspx_meth_tiles_insert_0(pageContext))
>>>> return;
>>>> } catch (Throwable t) {
>>>> out = _jspx_out;
>>>> if (out != null && out.getBufferSize() != 0)
>>>> out.clearBuffer();
>>>> if (pageContext != null) pageContext.handlePageException(t); <---- 
>>>> line 189
>>>> } finally {
>>>> if (_jspxFactory != null) 
>>>> _jspxFactory.releasePageContext(pageContext);
>>>> }
>>>> 3. The JSP file with the definitions
>>>>
>>>> <%@ taglib prefix="tiles" uri="/WEB-INF/tlds/struts-tiles.tld" %>
>>>> <%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %>
>>>>
>>>> <c:if test="${empty applicationScope.FRONT}">
>>>> <tiles:definition id="FRONT" template="/jsp/templates/myLayout.jsp">
>>>> <put name="title"  value="Front Page" />
>>>> <put name="header" value="/jsp/signon/header.jsp" />
>>>> <put name="footer" value="/jsp/homepage/footer.jsp" />
>>>> <put name="body"   value="/jsp/frontpage/content.jsp" />
>>>> </tiles:definition>
>>>> </c:if>
>>>> <c:if test="${empty applicationScope.SIGNON}">
>>>> <tiles:definition id="SIGNON" extends="FRONT">
>>>> <put name="title"  value="Sign On" />
>>>> <put name="body"   value="/jsp/signon/content.jsp" />
>>>> </tiles:definition>
>>>> </c:if>
>>>> <!--
>>>>
>>>> ....
>>>> -->
>>>>
>>>> If I erase all defintions, but keep the first one, the attributes 
>>>> wouldn't loaded.
>>>>
>>>> The Tiles is from http://www.lifl.fr/~dumoulin/tiles/.
>>>>
>>>> I don't have any JSP debugging tool. Can someone please tell me 
>>>> where is wrong or how to find out the cause.
>>>>
>>>> Vernon
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>>
>>>
>>
>>
>>
>
>
>


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


Re: Please help a Tiles problem

Posted by Vernon <ve...@gatewaytech.com>.
I start getting quite frustrated on this issue after a few days of 
researching on the Tiles home page, Tiles Struts home page, Struts email 
archive, the tiles-documentation.war, and google on Tiles. The whole 
development is stop at this point.

I have read somewhere at the email archive: it is not need to process the 
initialition if the definition is stored in a JSP file, which is the case I 
posted my previous post.

I change the definition method, using a xml file instead. After having a 
xml file and modification of web.xml, I get the logging message when I 
start/reload the applicaiton:

8242 DEBUG [main] org.apache.struts.tiles.xmlDefinition.I18nFactorySet     
(I18n
FactorySet.java:301) - definitions={FRONT={name=FRONT, 
path=/jsp/templates/mmSig
nUpLayout.jsp, role=null, controller=null, controllerType=null, 
controllerInstan
ce=null, attributes={footer=/jsp/homepage/footer.jsp, title=Front Page, 
header=/
jsp/signon/header.jsp, body=/jsp/frontpage/content.jsp}}
}
8282 DEBUG [main] org.apache.struts.tiles.xmlDefinition.I18nFactorySet     
(I18n
FactorySet.java:305) - factory loaded : {FRONT={name=FRONT, 
path=/jsp/templates/
mmSignUpLayout.jsp, role=null, controller=null, controllerType=null, 
controllerI
nstance=null, attributes={footer=/jsp/homepage/footer.jsp, title=Front 
Page, hea
der=/jsp/signon/header.jsp, body=/jsp/frontpage/content.jsp}}
}
8292 DEBUG [main] org.apache.struts.tiles.xmlDefinition.I18nFactorySet     
(I18n
FactorySet.java:269) - default factory:{FRONT={name=FRONT, 
path=/jsp/templates/m
mSignUpLayout.jsp, role=null, controller=null, controllerType=null, 
controllerIn
stance=null, attributes={footer=/jsp/homepage/footer.jsp, title=Front Page, 
head
er=/jsp/signon/header.jsp, body=/jsp/frontpage/content.jsp}}
}
8302 DEBUG [main] org.apache.struts.tiles.xmlDefinition.I18nFactorySet     
(I18n
FactorySet.java:217) - Factory initialized from file '/WEB-INF/tiles- 
defs.xml'.
8312 INFO  [main]  org.apache.struts.tiles.TilesServlet     
(TilesServlet.java:1
17) - Tiles Factory successfully loaded

The definition seems in place. However, when I point to the url of a page, 
I get the following error messages:

java.lang.NullPointerException
	at 
org.apache.struts.taglib.tiles.InsertTag.processName(InsertTag.java:527)
	at 
org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:486)
	at org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:444)
	at org.apache.jsp.page_jsp._jspx_meth_tiles_insert_0(page_jsp.java:73)
	at org.apache.jsp.page_jsp._jspService(page_jsp.java:52)
...

And in the translated JSP Java file, there is

  public void _jspService(HttpServletRequest request, HttpServletResponse 
response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    javax.servlet.jsp.PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;


    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html;charset=ISO-8859-1");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n\r\n");
      if (_jspx_meth_tiles_insert_0(pageContext))   <======= line 52
        return;
    } catch (Throwable t) {
      out = _jspx_out;
      if (out != null && out.getBufferSize() != 0)
        out.clearBuffer();
      if (pageContext != null) pageContext.handlePageException(t);
    } finally {
      if (_jspxFactory != null) 
_jspxFactory.releasePageContext(pageContext);
    }
  }

  private boolean _jspx_meth_tiles_insert_0(javax.servlet.jsp.PageContext 
pageContext)
          throws Throwable {
    JspWriter out = pageContext.getOut();
    /* ----  tiles:insert ---- */
    org.apache.struts.taglib.tiles.InsertTag _jspx_th_tiles_insert_0 = 
(org.apache.struts.taglib.tiles.InsertTag) 
_jspx_tagPool_tiles_insert_name_flush.get(org.apache.struts.taglib.tiles.InsertTag.class) 
;
    _jspx_th_tiles_insert_0.setPageContext(pageContext);
    _jspx_th_tiles_insert_0.setParent(null);
    _jspx_th_tiles_insert_0.setName("FRONT");
    _jspx_th_tiles_insert_0.setFlush(true);
    int _jspx_eval_tiles_insert_0 = _jspx_th_tiles_insert_0.doStartTag();
    if (_jspx_th_tiles_insert_0.doEndTag() == 
javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
      return true;
    _jspx_tagPool_tiles_insert_name_flush.reuse(_jspx_th_tiles_insert_0);
    return false;
  }

If my understanding is right, the definition of "FRONT" can be found. The 
JSP file have the following two lines:

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

<tiles:insert name="FRONT" flush="true" />

What is missing here?


  On Fri, 04 Apr 2003 07:01:55 -0800, Vernon <ve...@gatewaytech.com> 
wrote:

>
> Thanks very much for your information, Cedric.
>
> I have read through the Tiles related articles linked to the Struts-Tiles 
> page, and have not seen the plug in procedure for standalone usage. A 
> plugin procedure, I find, is on the following page 
> http://www.onjava.com/pub/a/onjava/excerpt/progjakstruts_14/index2.html. 
> It is about Struts. I don't use Struts however. How I initialize the 
> Tiles?
>
>
> On Fri, 04 Apr 2003 10:12:48 +0200, Cedric Dumoulin <ce...@apache.org> 
> wrote:
>
>>
>> The error message says that the definition factory is not found. Have 
>> you initialized the tile plugin ?
>>
>> Cedric
>>
>> Vernon wrote:
>>
>>> 1. The error message:
>>>
>>> root cause
>>>
>>> javax.servlet.ServletException: Can't get definitions factory from 
>>> context.
>>> at 
>>> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533) 
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> at org.apache.jsp.page_jsp._jspService(page_jsp.java:189)
>>>
>>> 2. The translated JSP file
>>>
>>> public void _jspService(HttpServletRequest request, HttpServletResponse 
>>> response)
>>> throws java.io.IOException, ServletException {
>>>
>>> JspFactory _jspxFactory = null;
>>> javax.servlet.jsp.PageContext pageContext = null;
>>> HttpSession session = null;
>>> ServletContext application = null;
>>> ServletConfig config = null;
>>> JspWriter out = null;
>>> Object page = this;
>>> JspWriter _jspx_out = null;
>>>
>>>
>>> try {
>>> _jspxFactory = JspFactory.getDefaultFactory();
>>> response.setContentType("text/html;charset=ISO-8859-1");
>>> pageContext = _jspxFactory.getPageContext(this, request, response,
>>> null, true, 8192, true);
>>> application = pageContext.getServletContext();
>>> config = pageContext.getServletConfig();
>>> session = pageContext.getSession();
>>> out = pageContext.getOut();
>>> _jspx_out = out;
>>>
>>> out.write("\r\n");
>>> out.write("\r\n");
>>> out.write("\r\n\r\n");
>>> if (_jspx_meth_c_if_0(pageContext))
>>> return;
>>> out.write("\r\n");
>>> if (_jspx_meth_c_if_1(pageContext))
>>> return;
>>> // ...
>>> out.write("\r\n");
>>> if (_jspx_meth_c_if_37(pageContext))
>>> return;
>>> out.write("\r\n\r\n\r\n\r\n\r\n\r\n\r\n");
>>> out.write("\r\n\r\n");
>>> if (_jspx_meth_tiles_insert_0(pageContext))
>>> return;
>>> } catch (Throwable t) {
>>> out = _jspx_out;
>>> if (out != null && out.getBufferSize() != 0)
>>> out.clearBuffer();
>>> if (pageContext != null) pageContext.handlePageException(t); <---- line 
>>> 189
>>> } finally {
>>> if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
>>> }
>>> 3. The JSP file with the definitions
>>>
>>> <%@ taglib prefix="tiles" uri="/WEB-INF/tlds/struts-tiles.tld" %>
>>> <%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %>
>>>
>>> <c:if test="${empty applicationScope.FRONT}">
>>> <tiles:definition id="FRONT" template="/jsp/templates/myLayout.jsp">
>>> <put name="title"  value="Front Page" />
>>> <put name="header" value="/jsp/signon/header.jsp" />
>>> <put name="footer" value="/jsp/homepage/footer.jsp" />
>>> <put name="body"   value="/jsp/frontpage/content.jsp" />
>>> </tiles:definition>
>>> </c:if>
>>> <c:if test="${empty applicationScope.SIGNON}">
>>> <tiles:definition id="SIGNON" extends="FRONT">
>>> <put name="title"  value="Sign On" />
>>> <put name="body"   value="/jsp/signon/content.jsp" />
>>> </tiles:definition>
>>> </c:if>
>>> <!--
>>>
>>> ....
>>> -->
>>>
>>> If I erase all defintions, but keep the first one, the attributes 
>>> wouldn't loaded.
>>>
>>> The Tiles is from http://www.lifl.fr/~dumoulin/tiles/.
>>>
>>> I don't have any JSP debugging tool. Can someone please tell me where 
>>> is wrong or how to find out the cause.
>>>
>>> Vernon
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>
>>
>
>
>



-- 
Vernon

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


Re: Please help a Tiles problem

Posted by Vernon <ve...@gatewaytech.com>.
Thanks very much for your information, Cedric.

I have read through the Tiles related articles linked to the Struts-Tiles 
page, and have not seen the plug in procedure for standalone usage. A 
plugin procedure, I find, is on the following page 
http://www.onjava.com/pub/a/onjava/excerpt/progjakstruts_14/index2.html. It 
is about Struts. I don't use Struts however. How I initialize the Tiles?


 On Fri, 04 Apr 2003 10:12:48 +0200, Cedric Dumoulin <ce...@apache.org> 
wrote:

>
> The error message says that the definition factory is not found. Have you 
> initialized the tile plugin ?
>
> Cedric
>
> Vernon wrote:
>
>> 1. The error message:
>>
>> root cause
>>
>> javax.servlet.ServletException: Can't get definitions factory from 
>> context.
>> at 
>> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533) 
>>
>>
>>
>>
>> at org.apache.jsp.page_jsp._jspService(page_jsp.java:189)
>>
>> 2. The translated JSP file
>>
>> public void _jspService(HttpServletRequest request, HttpServletResponse 
>> response)
>> throws java.io.IOException, ServletException {
>>
>> JspFactory _jspxFactory = null;
>> javax.servlet.jsp.PageContext pageContext = null;
>> HttpSession session = null;
>> ServletContext application = null;
>> ServletConfig config = null;
>> JspWriter out = null;
>> Object page = this;
>> JspWriter _jspx_out = null;
>>
>>
>> try {
>> _jspxFactory = JspFactory.getDefaultFactory();
>> response.setContentType("text/html;charset=ISO-8859-1");
>> pageContext = _jspxFactory.getPageContext(this, request, response,
>> null, true, 8192, true);
>> application = pageContext.getServletContext();
>> config = pageContext.getServletConfig();
>> session = pageContext.getSession();
>> out = pageContext.getOut();
>> _jspx_out = out;
>>
>> out.write("\r\n");
>> out.write("\r\n");
>> out.write("\r\n\r\n");
>> if (_jspx_meth_c_if_0(pageContext))
>> return;
>> out.write("\r\n");
>> if (_jspx_meth_c_if_1(pageContext))
>> return;
>> // ...
>> out.write("\r\n");
>> if (_jspx_meth_c_if_37(pageContext))
>> return;
>> out.write("\r\n\r\n\r\n\r\n\r\n\r\n\r\n");
>> out.write("\r\n\r\n");
>> if (_jspx_meth_tiles_insert_0(pageContext))
>> return;
>> } catch (Throwable t) {
>> out = _jspx_out;
>> if (out != null && out.getBufferSize() != 0)
>> out.clearBuffer();
>> if (pageContext != null) pageContext.handlePageException(t); <---- line 
>> 189
>> } finally {
>> if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
>> }
>> 3. The JSP file with the definitions
>>
>> <%@ taglib prefix="tiles" uri="/WEB-INF/tlds/struts-tiles.tld" %>
>> <%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %>
>>
>> <c:if test="${empty applicationScope.FRONT}">
>> <tiles:definition id="FRONT" template="/jsp/templates/myLayout.jsp">
>> <put name="title"  value="Front Page" />
>> <put name="header" value="/jsp/signon/header.jsp" />
>> <put name="footer" value="/jsp/homepage/footer.jsp" />
>> <put name="body"   value="/jsp/frontpage/content.jsp" />
>> </tiles:definition>
>> </c:if>
>> <c:if test="${empty applicationScope.SIGNON}">
>> <tiles:definition id="SIGNON" extends="FRONT">
>> <put name="title"  value="Sign On" />
>> <put name="body"   value="/jsp/signon/content.jsp" />
>> </tiles:definition>
>> </c:if>
>> <!--
>>
>> ....
>> -->
>>
>> If I erase all defintions, but keep the first one, the attributes 
>> wouldn't loaded.
>>
>> The Tiles is from http://www.lifl.fr/~dumoulin/tiles/.
>>
>> I don't have any JSP debugging tool. Can someone please tell me where is 
>> wrong or how to find out the cause.
>>
>> Vernon
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>



-- 
Vernon

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


Re: Please help a Tiles problem

Posted by Cedric Dumoulin <ce...@apache.org>.
  The error message says that the definition factory is not found. Have 
you initialized the tile plugin ?

   Cedric

Vernon wrote:

> 1. The error message:
>
> root cause
>
> javax.servlet.ServletException: Can't get definitions factory from 
> context.
>     at 
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533) 
>
>     at org.apache.jsp.page_jsp._jspService(page_jsp.java:189)
>
> 2. The translated JSP file
>
>  public void _jspService(HttpServletRequest request, 
> HttpServletResponse response)
>        throws java.io.IOException, ServletException {
>
>    JspFactory _jspxFactory = null;
>    javax.servlet.jsp.PageContext pageContext = null;
>    HttpSession session = null;
>    ServletContext application = null;
>    ServletConfig config = null;
>    JspWriter out = null;
>    Object page = this;
>    JspWriter _jspx_out = null;
>
>
>    try {
>      _jspxFactory = JspFactory.getDefaultFactory();
>      response.setContentType("text/html;charset=ISO-8859-1");
>      pageContext = _jspxFactory.getPageContext(this, request, response,
>                  null, true, 8192, true);
>      application = pageContext.getServletContext();
>      config = pageContext.getServletConfig();
>      session = pageContext.getSession();
>      out = pageContext.getOut();
>      _jspx_out = out;
>
>      out.write("\r\n");
>      out.write("\r\n");
>      out.write("\r\n\r\n");
>      if (_jspx_meth_c_if_0(pageContext))
>        return;
>      out.write("\r\n");
>      if (_jspx_meth_c_if_1(pageContext))
>        return;
> // ...
>      out.write("\r\n");
>      if (_jspx_meth_c_if_37(pageContext))
>        return;
>      out.write("\r\n\r\n\r\n\r\n\r\n\r\n\r\n");
>      out.write("\r\n\r\n");
>      if (_jspx_meth_tiles_insert_0(pageContext))
>        return;
>    } catch (Throwable t) {
>      out = _jspx_out;
>      if (out != null && out.getBufferSize() != 0)
>        out.clearBuffer();
>      if (pageContext != null) pageContext.handlePageException(t); 
> <---- line 189
>    } finally {
>      if (_jspxFactory != null) 
> _jspxFactory.releasePageContext(pageContext);
>    }
>    3. The JSP file with the definitions
>
> <%@ taglib prefix="tiles" uri="/WEB-INF/tlds/struts-tiles.tld" %>
> <%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %>
>
> <c:if test="${empty applicationScope.FRONT}">
>    <tiles:definition id="FRONT" template="/jsp/templates/myLayout.jsp">
>        <put name="title"  value="Front Page" />
>        <put name="header" value="/jsp/signon/header.jsp" />
>        <put name="footer" value="/jsp/homepage/footer.jsp" />
>        <put name="body"   value="/jsp/frontpage/content.jsp" />
>    </tiles:definition>
> </c:if>
> <c:if test="${empty applicationScope.SIGNON}">
>    <tiles:definition id="SIGNON" extends="FRONT">
>        <put name="title"  value="Sign On" />
>        <put name="body"   value="/jsp/signon/content.jsp" />
>    </tiles:definition>
> </c:if>
> <!--
>
> ....
> -->
>
> If I erase all defintions, but keep the first one, the attributes 
> wouldn't loaded.
>
> The Tiles is from http://www.lifl.fr/~dumoulin/tiles/.
>
> I don't have any JSP debugging tool. Can someone please tell me where 
> is wrong or how to find out the cause.
>
> Vernon
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>


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