struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From struts....@spamgourmet.com
Subject Running external Javascript files through Struts/Freemarker -- access to ActionContext and ValueStack?
Date Sat, 13 Nov 2010 01:47:51 GMT
I have an action and freemarker result that includes an external Javascript file.  This javascript
files needs to be able to use the getText() method.  I figured I'd name it "util.js.ftl" so
that accessing it directly caused the sitemesh-freemarker filter to catch it, but this throws
a NullPointerException (maybe because there's no ActionContext?):

GET /myservlet/util.js.ftl
java.lang.NullPointerException
	org.apache.struts2.sitemesh.FreemarkerDecoratorServlet.process(FreemarkerDecoratorServlet.java:176)
	org.apache.struts2.sitemesh.FreemarkerDecoratorServlet.doGet(FreemarkerDecoratorServlet.java:130)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:85)
	com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
	com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82)
	rss.web.filter.SkinFilter.doFilter(SkinFilter.java:98)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
The action is simple and just returns SUCCESS.

        <action name="index" class="com.rgm.action.IndexAction">
            <result name="success" type="freemarker">index.ftl</result>
        </action>

Is there a recommended way for a result template to load external files such that they are
separate GET requests from the browser, but are still parsed through the Sitemesh-Freemarker
filters and servlets, with access to the value stack?  If I simply <#include "*/util.js.ftl"
/> then the content is inlined -- this is not what I'm after.

I am using Struts 2.2.1 with Sitemesh+Freemarker Decorators as described on the sitemesh-plugin.html
doc in the "Full Integration" section.

Sincerely,
Roland
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message