You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by eve <nu...@email.it> on 2005/11/10 19:40:42 UTC
"Can't get definitions factory from context"
I have tiles working in my application. As i try to use the validator
i get the following error
which may it be the cause?
javax.servlet.ServletException: Can't get definitions factory from context.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
javax.servlet.jsp.JspException: Can't get definitions factory from context.
org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:577)
org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:476)
org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:438)
org.apache.jsp.pages.Login_jsp._jspx_meth_tiles_insert_0(org.apache.jsp.pages.Login_jsp:91)
org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Re: "Can't get definitions factory from context"
Posted by Laurie Harper <la...@holoweb.net>.
Hmm, I'm not sure how just adding validation rules for the form prevents
the JSP from rendering, since you don't have client-side validation enabled.
Are you sure there are no other errors generated, either when you
request your login.jsp or during server startup? Do you have any
validation-related configuration on the action mapping that loads login.jsp?
I would suggest turning on full debug logging and seeing if that gives
you a clue as to why it's failing.
L.
eve wrote:
> Everything works if I don't configure the validation.
> I just added this in my validation.xml:
>
> <formset>
> <form name="loginForm">
> <field
> property="username"
> depends="required">
> <arg key="label.username"/>
> </field>
> <field
> property="password"
> depends="required,mask">
> <arg key="label.password"/>
> <var>
> <var-name>mask</var-name>
> <var-value>^[0-9a-zA-Z]*$</var-value>
> </var>
> </field>
> </form>
> </formset>
>
> this is in my struts-config.xml:
> <action
> path="/LoginSubmit"
> type="it.unifi.tesi.struts.prova.ProvaAction"
> name="loginForm"
> scope="request"
> validate="true"
> input="/pages/Login.jsp">
> <exception
> key="login.failed"
> path="/pages/Login.jsp"
> type="it.unifi.tesi.struts.prova.InvalidLoginException"/>
> <exception
> path="/pages/SystemError.jsp"
> type="it.unifi.tesi.struts.prova.SystemException"/>
> <forward path="/pages/Welcome.jsp" name="registered"/>
> <forward path="/pages/Error.jsp" name="error"/>
> </action>
>
> and this is my form:
> <html:form action='LoginSubmit'>
> <table cols='2' border='0'>
> <tbody>
> <tr>
> <td><bean:message key="label.username"/></td>
> <td><html:text property='username'/></td>
> </tr>
> <tr>
> <td><bean:message key="label.password"/></td>
> <td><html:password property='password'/></td>
> </tr>
> <tr>
> <td colspan='2' align='center'>
> <html:submit><bean:message key="button.submit"/></html:submit>
> <html:reset><bean:message key="button.reset"/></html:reset>
> </td>
> </tr>
> </tbody>
> </table>
> <jsp:useBean id="user_data" scope="session"
> class="it.unifi.tesi.struts.prova.User" />
>
> </html:form>
>
> thanks
> eve
>
>> That appears to be a Tiles error, not a validator error; does it work
>> if you don't configure any validation? If so, what validator
>> configuration do you add that leads to the error below?
>>
>> L.
>>
>> eve wrote:
>>
>>> I have tiles working in my application. As i try to use the validator
>>> i get the following error
>>> which may it be the cause?
>>>
>>>
>>>
>>>
>>>
>>>
>>> javax.servlet.ServletException: Can't get definitions factory from
>>> context.
>>>
>>> org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
>>>
>>>
>>> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
>>>
>>>
>>> org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:75)
>>>
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>>>
>>>
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>
>>> root cause
>>> javax.servlet.jsp.JspException: Can't get definitions factory from
>>> context.
>>>
>>> org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:577)
>>>
>>>
>>> org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:476)
>>>
>>>
>>> org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:438)
>>>
>>> org.apache.jsp.pages.Login_jsp._jspx_meth_tiles_insert_0(org.apache.jsp.pages.Login_jsp:91)
>>>
>>>
>>> org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:68)
>>>
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>>>
>>>
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: "Can't get definitions factory from context"
Posted by eve <nu...@email.it>.
Everything works if I don't configure the validation.
I just added this in my validation.xml:
<formset>
<form name="loginForm">
<field
property="username"
depends="required">
<arg key="label.username"/>
</field>
<field
property="password"
depends="required,mask">
<arg key="label.password"/>
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
this is in my struts-config.xml:
<action
path="/LoginSubmit"
type="it.unifi.tesi.struts.prova.ProvaAction"
name="loginForm"
scope="request"
validate="true"
input="/pages/Login.jsp">
<exception
key="login.failed"
path="/pages/Login.jsp"
type="it.unifi.tesi.struts.prova.InvalidLoginException"/>
<exception
path="/pages/SystemError.jsp"
type="it.unifi.tesi.struts.prova.SystemException"/>
<forward path="/pages/Welcome.jsp" name="registered"/>
<forward path="/pages/Error.jsp" name="error"/>
</action>
and this is my form:
<html:form action='LoginSubmit'>
<table cols='2' border='0'>
<tbody>
<tr>
<td><bean:message key="label.username"/></td>
<td><html:text property='username'/></td>
</tr>
<tr>
<td><bean:message key="label.password"/></td>
<td><html:password property='password'/></td>
</tr>
<tr>
<td colspan='2' align='center'>
<html:submit><bean:message key="button.submit"/></html:submit>
<html:reset><bean:message key="button.reset"/></html:reset>
</td>
</tr>
</tbody>
</table>
<jsp:useBean id="user_data" scope="session"
class="it.unifi.tesi.struts.prova.User" />
</html:form>
thanks
eve
>That appears to be a Tiles error, not a validator error; does it
>work if you don't configure any validation? If so, what validator
>configuration do you add that leads to the error below?
>
>L.
>
>eve wrote:
>>I have tiles working in my application. As i try to use the
>>validator i get the following error
>>which may it be the cause?
>>
>>
>>
>>
>>
>>
>>javax.servlet.ServletException: Can't get definitions factory from context.
>>
>>org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
>>
>>org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
>>
>>org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:75)
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>>org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>>root cause
>>javax.servlet.jsp.JspException: Can't get definitions factory from context.
>>
>>org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:577)
>>
>>org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:476)
>> org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:438)
>>
>>org.apache.jsp.pages.Login_jsp._jspx_meth_tiles_insert_0(org.apache.jsp.pages.Login_jsp:91)
>>
>>org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:68)
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>>org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>For additional commands, e-mail: user-help@struts.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: "Can't get definitions factory from context"
Posted by Laurie Harper <la...@holoweb.net>.
That appears to be a Tiles error, not a validator error; does it work if
you don't configure any validation? If so, what validator configuration
do you add that leads to the error below?
L.
eve wrote:
> I have tiles working in my application. As i try to use the validator i
> get the following error
> which may it be the cause?
>
>
>
>
>
>
> javax.servlet.ServletException: Can't get definitions factory from context.
> org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
>
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
>
> org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:75)
>
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
> root cause
> javax.servlet.jsp.JspException: Can't get definitions factory from context.
> org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:577)
>
> org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:476)
>
> org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:438)
> org.apache.jsp.pages.Login_jsp._jspx_meth_tiles_insert_0(org.apache.jsp.pages.Login_jsp:91)
>
> org.apache.jsp.pages.Login_jsp._jspService(org.apache.jsp.pages.Login_jsp:68)
>
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: "Can't get definitions factory from context"
Posted by Deepa Khetan <de...@gmail.com>.
While adding the validator configuration to your struts-config, u must be
missing some tag. check for it
On 11/11/05, eve <nu...@email.it> wrote:
>
> I have tiles working in my application. As i try to use the validator
> i get the following error
> which may it be the cause?
>
>
>
>
>
>
> javax.servlet.ServletException: Can't get definitions factory from
> context.
> org.apache.jasper.runtime.PageContextImpl.doHandlePageException(
> PageContextImpl.java:848)
> org.apache.jasper.runtime.PageContextImpl.handlePageException(
> PageContextImpl.java:781)
> org.apache.jsp.pages.Login_jsp._jspService(
> org.apache.jsp.pages.Login_jsp:75)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
> :322)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
> root cause
> javax.servlet.jsp.JspException: Can't get definitions factory from
> context.
> org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(
> InsertTag.java:577)
> org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java
> :476)
> org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:438)
> org.apache.jsp.pages.Login_jsp._jspx_meth_tiles_insert_0(
> org.apache.jsp.pages.Login_jsp:91)
> org.apache.jsp.pages.Login_jsp._jspService(
> org.apache.jsp.pages.Login_jsp:68)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
> :322)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>