Re: loading plain files
Luther Baker <[email protected]>
| Newsgroups | gmane.comp.web.freemarker.user |
|---|---|
| Message-ID | <[email protected]> |
I ended up simply looking up the file myself as a resource. I really like the header suggestion ... I cache the contents in memory but your http header suggestion even helps with the bandwidth as well. A quick question on using Freemarker again ... I could easily start and end the file with a <#noparse> block. For instance - I want to load JQuery.js. I've no idea what they include in their distros ... but I can easily add the noparse directive to the top and bottom of the files they distribute. Would that be ok? Would I be safe in assuming that Freemarker would only read that file one time? And that for the most part, the noparse directive would speed up how it is served everytime? I not worried about blinding speed - I just want this to scale predictably/well. Thanks, -Luther On Nov 10, 2008, at 5:19 AM, Attila Szegedi wrote: > Another thing you can do is to just try Configuration.getTemplate(), > and if you get a FileNotFoundException, fall back to retrieving a > classpath resource yourself. > Or, if you're worried of having an exception as part of your normal > control flow, you can also try first looking up the classpath resource > with Class.getResource() and if it returns null, only then fall back > to FreeMarker. > > Another advantage of this approach instead of having FreeMarker serve > static content is that you can return Last-Modified headers in HTTP > responses (i.e. with the timestamp of the JAR file itself), and > handling If-Modified-Since request headers, or even returning Expires > headers with some sane values. That way you can take advantage of HTTP > clients' caches (if they have any, i.e. if they're regular web > browsers, then they obviously do) and reduce traffic on your app. > > Attila. > > On 2008.11.08., at 18:11, Luther Baker wrote: > >> That is the answer I was assuming ... but wanted to confirm ... >> sounds good. >> >> Thanks for the response. Love the library. >> >> -Luther >> >> >> >> On Sat, Nov 8, 2008 at 10:39 AM, Attila Szegedi <[email protected]> >> wrote: >> There's no way to do it, and I don't think it'd be FreeMarker's >> responsibility to provide such capabilities. >> >> Except there IS of course a way to do it, which would be to write a >> custom TemplateLoader that wraps another loader, and makes sure that >> it edits the text stream of the resource so that anything that >> FreeMarker would recognize as its own markup (which would be "<#", >> "<@", (or "[#", "[@") and "${") gets escaped. >> >> OTOH, if you can be certain that the static files you have don't have >> anything in them that FreeMarker would recognize as its own markup, >> you can just put them in there -- FM will treat each of them as a >> template with single chunk of static text and render them very >> efficiently :-) >> >> Attila. >> >> On 2008.11.08., at 16:32, Luther Baker wrote: >> >>> For simplicity's sake, I would like to use freemarker to load both >>> *.ftl files and plain html/js/css files. >>> >>> IE: I am distributing a library (JAR) and include a few text files >>> in the classpath (src/main/resources per maven). When a request >>> comes into my framework, I modify the URL path and look for a *.ftl >>> file. If I find it, great, if I don't - I would like to look up the >>> RAW file and simply return it via freemarker unprocessed. >>> >>> a) Is that safe to do? >>> b) Is there a way I can tell freemarker 'load these .css and .js >>> files from the special FTL paths" but do not waste your time trying >>> to interpolate them. Just render them as is? >>> >>> Thanks, >>> >>> -Luther > > > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win > great prizes > Grand prize is a trip for two to an Open Source event anywhere in > the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > FreeMarker-user mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freemarker-user ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/