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)