You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by an...@finn.no on 2007/10/05 14:43:01 UTC

Trouble with using struts tags in freemarker files

Hi,

 

I hope someone can help me with this problem.

I have a freemarker file where I need to use struts tags to create url.

 

My problem is that I don't know what's the correct way to reference the
struts taglib.


My code:

 

<#assign s=JspTaglibs["/META-INF/struts-tags.tld"]>

 

<a href="<@s.url action="frontpage" />">Link here.</a>

 

I get this error message: 

 

 

[ WARN] 14:37:59  Can't generate HTML subscription mail; nested
exception is freemarker.core.InvalidReferenceException: Expression
JspTaglibs is undefined on line 1, column 12 in mail-html.ftl. []  at
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.doLog(Ex
ceptionMappingInterceptor.java:230)

org.springframework.mail.MailPreparationException: Can't generate HTML
subscription mail; nested exception is
freemarker.core.InvalidReferenceException: Expression JspTaglibs is
undefined on line 1, column 12 in mail-html.ftl.

Caused by: 

Expression JspTaglibs is undefined on line 1, column 12 in
mail-html.ftl.

The problematic instruction:

----------

==> assignment: s=JspTaglibs["/META-INF/struts-tags.tld"] [on line 1,
column 1 in mail-html.ftl]

----------

 

Java backtrace for programmers:

----------

freemarker.core.InvalidReferenceException: Expression JspTaglibs is
undefined on line 1, column 12 in mail-html.ftl.

            at
freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)

            at
freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:7
5)

            at
freemarker.core.Expression.getAsTemplateModel(Expression.java:89)

            at freemarker.core.Assignment.accept(Assignment.java:90)

            at freemarker.core.Environment.visit(Environment.java:196)

            at freemarker.core.MixedContent.accept(MixedContent.java:92)

            at freemarker.core.Environment.visit(Environment.java:196)

            at freemarker.core.Environment.process(Environment.java:176)

            at freemarker.template.Template.process(Template.java:232)

            at
no.finntech.cv.support.FreeMarkerTemplateMailerImpl$1.prepare(FreeMarker
TemplateMailerImpl.java:93)

            at
org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSender
Impl.java:344)

            at
org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSender
Impl.java:336)

            at
no.finntech.cv.support.FreeMarkerTemplateMailerImpl.mail(FreeMarkerTempl
ateMailerImpl.java:119)

            at
no.finntech.cv.support.EnquiryEmail.sendEnquireEmailToCandidate(EnquiryE
mail.java:93)

            at
no.finntech.cv.actions.CvListCandidatesAction.sendEnquireEmailToCandidat
e(CvListCandidatesAction.java:118)

            at
no.finntech.cv.actions.CvListCandidatesAction.enquireCv(CvListCandidates
Action.java:106)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)

            at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)

            at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:597)

            at
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActi
onInvocation.java:404)

            at
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(Default
ActionInvocation.java:267)





Re: Trouble with using struts tags in freemarker files

Posted by Zarar Siddiqi <za...@gmail.com>.
I load it using the following:

<#assign s=JspTaglibs["/struts-tags"]>

You'll also need to load the JspSupportServlet:

    <servlet>
        <servlet-name>JspSupportServlet</servlet-name>
        <servlet-class>org.apache.struts2.views.JspSupportServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>


Look at the section called "Tag Support" here:

http://struts.apache.org/2.0.9/docs/freemarker.html

Zarar


On 10/5/07, anine.louise.medhus-dale@finn.no
<an...@finn.no> wrote:
> Hi,
>
>
>
> I hope someone can help me with this problem.
>
> I have a freemarker file where I need to use struts tags to create url.
>
>
>
> My problem is that I don't know what's the correct way to reference the
> struts taglib.
>
>
> My code:
>
>
>
> <#assign s=JspTaglibs["/META-INF/struts-tags.tld"]>
>
>
>
> <a href="<@s.url action="frontpage" />">Link here.</a>
>
>
>
> I get this error message:
>
>
>
>
>
> [ WARN] 14:37:59  Can't generate HTML subscription mail; nested
> exception is freemarker.core.InvalidReferenceException: Expression
> JspTaglibs is undefined on line 1, column 12 in mail-html.ftl. []  at
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.doLog(Ex
> ceptionMappingInterceptor.java:230)
>
> org.springframework.mail.MailPreparationException: Can't generate HTML
> subscription mail; nested exception is
> freemarker.core.InvalidReferenceException: Expression JspTaglibs is
> undefined on line 1, column 12 in mail-html.ftl.
>
> Caused by:
>
> Expression JspTaglibs is undefined on line 1, column 12 in
> mail-html.ftl.
>
> The problematic instruction:
>
> ----------
>
> ==> assignment: s=JspTaglibs["/META-INF/struts-tags.tld"] [on line 1,
> column 1 in mail-html.ftl]
>
> ----------
>
>
>
> Java backtrace for programmers:
>
> ----------
>
> freemarker.core.InvalidReferenceException: Expression JspTaglibs is
> undefined on line 1, column 12 in mail-html.ftl.
>
>             at
> freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
>
>             at
> freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:7
> 5)
>
>             at
> freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
>
>             at freemarker.core.Assignment.accept(Assignment.java:90)
>
>             at freemarker.core.Environment.visit(Environment.java:196)
>
>             at freemarker.core.MixedContent.accept(MixedContent.java:92)
>
>             at freemarker.core.Environment.visit(Environment.java:196)
>
>             at freemarker.core.Environment.process(Environment.java:176)
>
>             at freemarker.template.Template.process(Template.java:232)
>
>             at
> no.finntech.cv.support.FreeMarkerTemplateMailerImpl$1.prepare(FreeMarker
> TemplateMailerImpl.java:93)
>
>             at
> org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSender
> Impl.java:344)
>
>             at
> org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSender
> Impl.java:336)
>
>             at
> no.finntech.cv.support.FreeMarkerTemplateMailerImpl.mail(FreeMarkerTempl
> ateMailerImpl.java:119)
>
>             at
> no.finntech.cv.support.EnquiryEmail.sendEnquireEmailToCandidate(EnquiryE
> mail.java:93)
>
>             at
> no.finntech.cv.actions.CvListCandidatesAction.sendEnquireEmailToCandidat
> e(CvListCandidatesAction.java:118)
>
>             at
> no.finntech.cv.actions.CvListCandidatesAction.enquireCv(CvListCandidates
> Action.java:106)
>
>             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>
>             at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>
>             at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>
>             at java.lang.reflect.Method.invoke(Method.java:597)
>
>             at
> com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActi
> onInvocation.java:404)
>
>             at
> com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(Default
> ActionInvocation.java:267)
>
>
>
>
>

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