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