You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@velocity.apache.org by brian <br...@westpole.com> on 2004/07/15 20:01:19 UTC

Link tool usage

Hello, I am trying to use the linkTool in the tools lib and I have
declared the link tool in the tool.xml file:

<?xml version="1.0"?>

<toolbox>

<tool>

  <key>link</key>

  <scope>request</scope>

  <class>org.apache.velocity.tools.view.tools.LinkTool</class>

</tool>

</toolbox>

 

and I have also included the mapping the descriptor file:

 

<servlet>

   <servlet-name>velocity</servlet-name>

    <servlet-class>com.ibm.dvworks.velocity.VelTestServlet

</servlet-class>

<init-param>

    <param-name>org.apache.velocity.toolbox</param-name>

    <param-value>/WEB-INF/toolbox.xml</param-value>

 </init-param>

 

 </servlet>

 

<servlet-mapping>

    <servlet-name>velocity</servlet-name>

    <url-pattern>*.vm</url-pattern>

  </servlet-mapping>

 

 but I get the following error in my console when I tried to render the
velocity template:

 

[7/15/04 13:04:31:885 EDT]  578dfe3 WebGroup      I SRVE0180I:
[velocity] [/velocity] [Servlet.LOG]:  Velocity   [info] Velocity
successfully started.

[7/15/04 13:04:31:895 EDT]  578dfe3 WebGroup      I SRVE0180I:
[velocity] [/velocity] [Servlet.LOG]:  Velocity   [info] Using toolbox
configuration file '/WEB-INF/toolbox.xml'

[7/15/04 13:04:31:895 EDT]  578dfe3 WebGroup      I SRVE0180I:
[velocity] [/velocity] [Servlet.LOG]:  Velocity   [info]
ServletToolboxManager: Loading toolbox...

[7/15/04 13:04:32:436 EDT]  578dfe3 ServletInstan E SRVE0100E: Did not
realize  init() exception thrown by servlet velocity:
javax.servlet.ServletException: org/dom4j/io/SAXReader

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit(StrictServl
etInstance.java:99)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init(StrictLifec
ycleServlet.java:147)

      at
com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init(StrictLi
fecycleServlet.java:270)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init(StrictLifecy
cleServlet.java:113)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.init(ServletInstance.jav
a:189)

      at javax.servlet.GenericServlet.init(GenericServlet.java:258)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet(WebAppSer
vletManager.java:870)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet(WebAppSe
rvletManager.java:224)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.getServletReference(
WebAppServletManager.java:455)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getServletReference(WebApp.java:65
2)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.calculateInfo
(WebAppRequestDispatcherInfo.java:172)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.<init>(WebApp
RequestDispatcherInfo.java:59)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
462)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
421)

      at
com.ibm.ws.webcontainer.servlet.SimpleFileServlet.doGet(SimpleFileServle
t.java:230)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:974)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:555)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:200)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
19)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:276)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:182)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
618)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

---- Begin backtrace for Nested Throwables

java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader

      at
org.apache.velocity.tools.view.XMLToolboxManager.load(XMLToolboxManager.
java:205)

      at
org.apache.velocity.tools.view.servlet.ServletToolboxManager.getInstance
(ServletToolboxManager.java:211)

      at
org.apache.velocity.tools.view.servlet.VelocityViewServlet.initToolbox(V
elocityViewServlet.java:252)

      at
org.apache.velocity.tools.view.servlet.VelocityViewServlet.init(Velocity
ViewServlet.java:219)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit(StrictServl
etInstance.java:82)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init(StrictLifec
ycleServlet.java:147)

      at
com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init(StrictLi
fecycleServlet.java:270)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init(StrictLifecy
cleServlet.java:113)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.init(ServletInstance.jav
a:189)

      at javax.servlet.GenericServlet.init(GenericServlet.java:258)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet(WebAppSer
vletManager.java:870)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet(WebAppSe
rvletManager.java:224)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.getServletReference(
WebAppServletManager.java:455)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getServletReference(WebApp.java:65
2)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.calculateInfo
(WebAppRequestDispatcherInfo.java:172)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.<init>(WebApp
RequestDispatcherInfo.java:59)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
462)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
421)

      at
com.ibm.ws.webcontainer.servlet.SimpleFileServlet.doGet(SimpleFileServle
t.java:230)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:974)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:555)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:200)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
19)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:276)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:182)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
618)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

 

[7/15/04 13:04:32:806 EDT]  578dfe3 WebGroup      E SRVE0020E: [Servlet
Error]-[velocity]: Failed to load servlet:
java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader

      at
org.apache.velocity.tools.view.XMLToolboxManager.load(XMLToolboxManager.
java:205)

      at
org.apache.velocity.tools.view.servlet.ServletToolboxManager.getInstance
(ServletToolboxManager.java:211)

      at
org.apache.velocity.tools.view.servlet.VelocityViewServlet.initToolbox(V
elocityViewServlet.java:252)

      at
org.apache.velocity.tools.view.servlet.VelocityViewServlet.init(Velocity
ViewServlet.java:219)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit(StrictServl
etInstance.java:82)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init(StrictLifec
ycleServlet.java:147)

      at
com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init(StrictLi
fecycleServlet.java:270)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init(StrictLifecy
cleServlet.java:113)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.init(ServletInstance.jav
a:189)

      at javax.servlet.GenericServlet.init(GenericServlet.java:258)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet(WebAppSer
vletManager.java:870)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet(WebAppSe
rvletManager.java:224)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.getServletReference(
WebAppServletManager.java:455)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getServletReference(WebApp.java:65
2)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.calculateInfo
(WebAppRequestDispatcherInfo.java:172)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.<init>(WebApp
RequestDispatcherInfo.java:59)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
462)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
421)

      at
com.ibm.ws.webcontainer.servlet.SimpleFileServlet.doGet(SimpleFileServle
t.java:230)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:974)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:555)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:200)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
19)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:276)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:182)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
618)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

 

[7/15/04 13:04:33:227 EDT]  578dfe3 WebGroup      E SRVE0026E: [Servlet
Error]-[velocity]: java.lang.NoClassDefFoundError:
org/dom4j/io/SAXReader

      at
org.apache.velocity.tools.view.XMLToolboxManager.load(XMLToolboxManager.
java:205)

      at
org.apache.velocity.tools.view.servlet.ServletToolboxManager.getInstance
(ServletToolboxManager.java:211)

      at
org.apache.velocity.tools.view.servlet.VelocityViewServlet.initToolbox(V
elocityViewServlet.java:252)

      at
org.apache.velocity.tools.view.servlet.VelocityViewServlet.init(Velocity
ViewServlet.java:219)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit(StrictServl
etInstance.java:82)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init(StrictLifec
ycleServlet.java:147)

      at
com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init(StrictLi
fecycleServlet.java:270)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init(StrictLifecy
cleServlet.java:113)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.init(ServletInstance.jav
a:189)

      at javax.servlet.GenericServlet.init(GenericServlet.java:258)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet(WebAppSer
vletManager.java:870)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet(WebAppSe
rvletManager.java:224)

      at
com.ibm.ws.webcontainer.webapp.WebAppServletManager.getServletReference(
WebAppServletManager.java:455)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getServletReference(WebApp.java:65
2)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.calculateInfo
(WebAppRequestDispatcherInfo.java:172)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcherInfo.<init>(WebApp
RequestDispatcherInfo.java:59)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
462)

      at
com.ibm.ws.webcontainer.webapp.WebApp.getRequestDispatcher(WebApp.java:1
421)

      at
com.ibm.ws.webcontainer.servlet.SimpleFileServlet.doGet(SimpleFileServle
t.java:230)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:974)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:555)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:200)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
19)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:276)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:182)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
618)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

 

Am I leaving out an important step? Do I need to include the
org/dom4j/io/SAXReader in the class path?

 

Brian 

 


Re: Link tool usage

Posted by Nathan Bubna <na...@esha.com>.
brian said:
> Hello, I am trying to use the linkTool in the tools lib and I have
> declared the link tool in the tool.xml file:

actually, this doesn't really have anything to do with the LinkTool.  the
toolbox manager can't even read your toolbox file due to the exception...

...
>  but I get the following error in my console when I tried to render the
> velocity template:
...
> [7/15/04 13:04:31:895 EDT]  578dfe3 WebGroup      I SRVE0180I:
> [velocity] [/velocity] [Servlet.LOG]:  Velocity   [info]
> ServletToolboxManager: Loading toolbox...
>
> [7/15/04 13:04:32:436 EDT]  578dfe3 ServletInstan E SRVE0100E: Did not
> realize  init() exception thrown by servlet velocity:
> javax.servlet.ServletException: org/dom4j/io/SAXReader
...
> java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader
>
>       at
> org.apache.velocity.tools.view.XMLToolboxManager.load(XMLToolboxManager.
> java:205)
...
> Am I leaving out an important step? Do I need to include the
> org/dom4j/io/SAXReader in the class path?

yeah, that's what the exception is trying to tell you.  :)
VelocityTools 1.0 (which you appear to be using) requires dom4j.

i should also mention that VelocityTools 1.1 (the most recent release) does
not depend on dom4j, but uses commons-digester to parse the toolbox instead.
so if you'd rather upgrade to that version, then the answer is "nope, you
don't need dom4j in the classpath, but you will need commons-digester".  :)

Nathan Bubna
nathan@esha.com


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