Thank for your help :)
With some research i managed to understand a bit more what's happening. You
are right that 
the VelocityViewServlet wasn't used here. Struts2 have his own velocity
config. So i added in my struts.xml file :


struts.xml 
----------------
        <constant name="struts.velocity.toolboxlocation"
value="WEB-INF/toolbox.xml" />
        <constant name="struts.velocity.configfile"
value="WEB-INF/velocity.properties" />
--------------

Now everything seems to load correctly.
About the loader path, i work for me since I'm not using standard web
archive. My war is just a folder with the .war extension, that allow jboss
to deploy its content on boot. But i recognize it must not be a common way
to go :p

So now i understand how my templates are rendered using struts2 velocity's
engine, but I'm still getting an error when calling any url.
here's the stack trace :
----------------------------------
java.lang.NoSuchMethodError:
org.apache.velocity.tools.view.context.ChainedContext.<init>(Lorg/apache/velocity/context/Context;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/ServletContext;)V

org.apache.struts2.views.velocity.VelocityManager.createContext(VelocityManager.java:193)

org.apache.struts2.dispatcher.VelocityResult.createContext(VelocityResult.java:235)

org.apache.struts2.dispatcher.VelocityResult.doExecute(VelocityResult.java:152)

org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)

com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
        ...
--------------------

I found that this constructor has been removed since velocity tools 1.3...
Do i need to use an older version (< 1.3) with struts2, or is there any way
to work around this with current 1.4 ?

Thanx ;-)


Nathan Bubna wrote:
> 
> followup questions inline below...
> 
> On Mon, Sep 1, 2008 at 2:54 AM, emri <[EMAIL PROTECTED]> wrote:
>>
>> Hello,
>>
>> I can't get generic-tools working in my Struts2 Config, objects are not
>> instanciate and are render as String in templates. I don't find any
>> information, samples to get this working, it seems so simple to read :),
>> but
>> impossible to make it work for me :(
>>
>> Can you point me my error, a link, an hint, an advice, anything :D ?
>>
>> Thanks !
>>
>>
>> I use Struts 2, Velocity 1.5, Velocity Tools 1.4
>>
>> My configs files are:
>>
>> Toolbox.xml
>> --------------
>> <toolbox>
>>        <tool>
>>                <key>date</key>
>>                <class>org.apache.velocity.tools.generic.DateTool</class>
>>                <scope>request</scope>
>>        </tool>
>>        <tool>
>>                <key>alternator</key>
>>               
>> <class>org.apache.velocity.tools.generic.AlternatorTool</class>
>>                <scope>application</scope>
>>        </tool>
>>        <tool>
>>                <key>list</key>
>>                <class>org.apache.velocity.tools.generic.ListTool</class>
>>                <scope>application</scope>
>>        </tool>
>> </toolbox>
>> --------------
>>
>>
>> Web.xml
>> --------------
>>        <servlet>
>>                <servlet-name>velocity</servlet-name>
>>
>> <servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
>>                <init-param>
>>                       
>> <param-name>org.apache.velocity.toolbox</param-name>
>>                        <param-value>/WEB-INF/toolbox.xml</param-value>
>>                </init-param>
>>                <init-param>
>>                <param-name>org.apache.velocity.properties</param-name>
>>                <param-value>/WEB-INF/velocity.properties</param-value>
>>        </init-param>
>>                <load-on-startup>10</load-on-startup>
>>        </servlet>
> 
> 
> are you sure that it is the VelocityLayoutServlet that is doing the
> processing of your templates?   I believe Struts 2 has their own way
> of supporting Velocity that doesn't use the VelocityViewServlet.
> 
>> velocity.properties
>> --------------
>>
>> runtime.log = velocity.log
>>
>> runtime.log.error.stacktrace = false
>> runtime.log.warn.stacktrace = false
>> runtime.log.info.stacktrace = false
>> runtime.log.invalid.reference = true
>> runtime.log.logsystem.class =
>> org.apache.velocity.runtime.log.Log4JLogSystem
>> runtime.log.logsystem.log4j.pattern=%d - %m%n
>>
>>
>> input.encoding=ISO-8859-1
>> output.encoding=ISO-8859-1
>>
>>
>> directive.foreach.counter.name = velocityCount
>> directive.foreach.counter.initial.value = 1
>>
>> directive.include.output.errormsg.start = <!-- include error :
>> directive.include.output.errormsg.end   =  see error log -->
>>
>> directive.parse.max.depth = 10
>>
>>
>> resource.loader = file
>>
>> file.resource.loader.description = Velocity File Resource Loader
>> file.resource.loader.class =
>> org.apache.velocity.runtime.resource.loader.FileResourceLoader
>> file.resource.loader.path =
>> /home/jboss/server/webServer/deploy/webServer.war/views/HTML
>> file.resource.loader.cache = false
>> file.resource.loader.modificationCheckInterval = 2
> 
> i'm fairly skeptical that this works.  you can't typically address
> files within a war like this.   you could just use the default
> "webapp" resource loader that the VelocityViewServlet provides.  i
> think you just need to remove the file.resource.loader properties
> above and add this one:
> 
> webapp.resource.loader.path = /view/HTML
> 
>>
>> velocimacro.library = pz_const.vm, pz_libs.vm
>>
>> velocimacro.permissions.allow.inline = true
>> velocimacro.permissions.allow.inline.to.replace.global = false
>> velocimacro.permissions.allow.inline.local.scope = false
>>
>> velocimacro.context.localscope = false
>> ---------------------
>> --
>> View this message in context:
>> http://www.nabble.com/Struts2---Velocity-Tools-tp19251905p19251905.html
>> Sent from the Velocity - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> 
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Struts2---Velocity-Tools-tp19251905p19306245.html
Sent from the Velocity - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to