freemarker-user Mailing List for FreeMarker template engine (Page 3)
Generates text that depends on changing data (like dynamic HTML).
Brought to you by:
revusky
This list is closed, nobody may subscribe to it.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(6) |
Aug
(3) |
Sep
(26) |
Oct
(18) |
Nov
(34) |
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(103) |
Feb
(82) |
Mar
(116) |
Apr
(36) |
May
(56) |
Jun
(130) |
Jul
(78) |
Aug
(91) |
Sep
(11) |
Oct
(60) |
Nov
(21) |
Dec
(21) |
2004 |
Jan
(29) |
Feb
(19) |
Mar
(87) |
Apr
(30) |
May
(6) |
Jun
(32) |
Jul
(2) |
Aug
(8) |
Sep
(26) |
Oct
(36) |
Nov
(40) |
Dec
(29) |
2005 |
Jan
(65) |
Feb
(43) |
Mar
(44) |
Apr
(42) |
May
(89) |
Jun
(90) |
Jul
(50) |
Aug
(49) |
Sep
(62) |
Oct
(60) |
Nov
(48) |
Dec
(33) |
2006 |
Jan
(48) |
Feb
(104) |
Mar
(94) |
Apr
(106) |
May
(139) |
Jun
(105) |
Jul
(84) |
Aug
(56) |
Sep
(46) |
Oct
(93) |
Nov
(21) |
Dec
(14) |
2007 |
Jan
(22) |
Feb
(35) |
Mar
(68) |
Apr
(45) |
May
(125) |
Jun
(84) |
Jul
(57) |
Aug
(23) |
Sep
(16) |
Oct
(48) |
Nov
(39) |
Dec
(32) |
2008 |
Jan
(24) |
Feb
(55) |
Mar
(61) |
Apr
(128) |
May
(125) |
Jun
(91) |
Jul
(53) |
Aug
(35) |
Sep
(30) |
Oct
(66) |
Nov
(56) |
Dec
(20) |
2009 |
Jan
(27) |
Feb
(62) |
Mar
(27) |
Apr
(18) |
May
(58) |
Jun
(54) |
Jul
(17) |
Aug
(34) |
Sep
(32) |
Oct
(68) |
Nov
(31) |
Dec
(55) |
2010 |
Jan
(25) |
Feb
(44) |
Mar
(53) |
Apr
(38) |
May
(42) |
Jun
(39) |
Jul
(40) |
Aug
(27) |
Sep
(32) |
Oct
|
Nov
(12) |
Dec
(30) |
2011 |
Jan
(48) |
Feb
(25) |
Mar
(21) |
Apr
(23) |
May
(47) |
Jun
(55) |
Jul
(40) |
Aug
(48) |
Sep
(33) |
Oct
(13) |
Nov
(19) |
Dec
(12) |
2012 |
Jan
(4) |
Feb
(19) |
Mar
(20) |
Apr
(49) |
May
(18) |
Jun
(17) |
Jul
(19) |
Aug
(12) |
Sep
(3) |
Oct
(24) |
Nov
(6) |
Dec
(9) |
2013 |
Jan
(4) |
Feb
(14) |
Mar
(35) |
Apr
(20) |
May
(21) |
Jun
(6) |
Jul
(35) |
Aug
(12) |
Sep
(11) |
Oct
(7) |
Nov
(2) |
Dec
(6) |
2014 |
Jan
(4) |
Feb
(3) |
Mar
(6) |
Apr
(5) |
May
(4) |
Jun
(6) |
Jul
(7) |
Aug
(1) |
Sep
(11) |
Oct
(26) |
Nov
(3) |
Dec
(11) |
2015 |
Jan
(1) |
Feb
(14) |
Mar
(12) |
Apr
(2) |
May
(7) |
Jun
(12) |
Jul
(14) |
Aug
(3) |
Sep
(10) |
Oct
(1) |
Nov
(8) |
Dec
(4) |
2016 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(6) |
May
(1) |
Jun
(10) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Daniel D. <dd...@fr...> - 2015-07-30 22:57:11
|
The so called stable version can be installed from the Eclipse Marketplace. But don't bother with that, because it's totally unstable. I strongly recommend checking out and building the latest development release instead (see https://github.com/jbosstools/jbosstools-freemarker). (Yes, it's for Eclipse Mars, but I heard that it actually runs on Lune fina too. Though I'm using it with Mars, so I'm not sure.) Thursday, July 30, 2015, 5:43:52 AM, seyed majid razavian wrote: > Hi Experts. > I try to install JBoss tools on eclipse luna from freemarker but i get this error > No repository found at > http://download.jboss.org/jbosstools/updates/stable/luna/. > what should i do? > -- Thanks, Daniel Dekany |
From: seyed m. r. <sey...@gm...> - 2015-07-30 03:44:00
|
Hi Experts. I try to install JBoss tools on eclipse luna from freemarker but i get this error > No repository found at > http://download.jboss.org/jbosstools/updates/stable/luna/. > what should i do? -- Best regards *Seyed Majid Razavian* *Developer in Afagh SoftComapny* Email:seyedmajidrazavian@{yahoo,gmail}.com |
From: Christopher B. <br...@re...> - 2015-07-29 20:40:13
|
I don't use this feature of FreeMarker, so I haven't had any bother with it. Just thought I'd let you know, having run "jdeps" on FreeMarker (and other dependencies). Hope that helps someone, Christopher On 29 July 2015 at 22:22, Daniel Dekany <dd...@fr...> wrote: > Does it actually cause error on JDK 9? > > Note that FreeMarker only uses those com.sun packages if Xalan > (org.apache.xpath specifically) is not in the class path. If neither > is found, it just disables XPath support in its DOM wrapper, which > will cause error when a template tries to use XPath. (Also if someone > configures FM to use Jaxen, it won't look for any of these.) > > Anyway, it might worth reviewing if on modern Java versions the > desired functionality has become part of the public XML API-s. But > there's not such activity going on right now. > > -- > Thanks, > Daniel Dekany > > > Wednesday, July 29, 2015, 1:27:45 PM, Christopher BROWN wrote: > > > Hello, > > > > I just ran the "jdeps" tool against FreeMarker 2.3.23 and it > > identified the following incompatible package usage as of JDK9 : > > > > jdeps freemarker.jar | grep 'JDK internal' > > -> com.sun.org.apache.xml.internal.utils JDK internal > API (rt.jar) > > -> com.sun.org.apache.xpath.internal JDK internal > API (rt.jar) > > -> com.sun.org.apache.xpath.internal.objects JDK internal > API (rt.jar) > > > > Refer to: > > > https://wiki.openjdk.java.net/display/Adoption/JDK+9+Outreach#JDK9Outreach-Runjdepsonyourcode > > > > Any plans to fix this? > > > > Thanks, > > Christopher > > |
From: Daniel D. <dd...@fr...> - 2015-07-29 20:22:47
|
Does it actually cause error on JDK 9? Note that FreeMarker only uses those com.sun packages if Xalan (org.apache.xpath specifically) is not in the class path. If neither is found, it just disables XPath support in its DOM wrapper, which will cause error when a template tries to use XPath. (Also if someone configures FM to use Jaxen, it won't look for any of these.) Anyway, it might worth reviewing if on modern Java versions the desired functionality has become part of the public XML API-s. But there's not such activity going on right now. -- Thanks, Daniel Dekany Wednesday, July 29, 2015, 1:27:45 PM, Christopher BROWN wrote: > Hello, > > I just ran the "jdeps" tool against FreeMarker 2.3.23 and it > identified the following incompatible package usage as of JDK9 : > > jdeps freemarker.jar | grep 'JDK internal' > -> com.sun.org.apache.xml.internal.utils JDK internal API (rt.jar) > -> com.sun.org.apache.xpath.internal JDK internal API (rt.jar) > -> com.sun.org.apache.xpath.internal.objects JDK internal API (rt.jar) > > Refer to: > https://wiki.openjdk.java.net/display/Adoption/JDK+9+Outreach#JDK9Outreach-Runjdepsonyourcode > > Any plans to fix this? > > Thanks, > Christopher |
From: Christopher B. <br...@re...> - 2015-07-29 11:50:39
|
Hello, I just ran the "jdeps" tool against FreeMarker 2.3.23 and it identified the following incompatible package usage as of JDK9 : jdeps freemarker.jar | grep 'JDK internal' -> com.sun.org.apache.xml.internal.utils JDK internal API (rt.jar) -> com.sun.org.apache.xpath.internal JDK internal API (rt.jar) -> com.sun.org.apache.xpath.internal.objects JDK internal API (rt.jar) Refer to: https://wiki.openjdk.java.net/display/Adoption/JDK+9+Outreach#JDK9Outreach-Runjdepsonyourcode Any plans to fix this? Thanks, Christopher |
From: Denis B. <bre...@ma...> - 2015-07-28 07:08:54
|
Hi Seyed, > Monday, July 27, 2015, 9:33:09 AM, seyed majid razavian wrote: > >> Hi Experts. >> How can create view layout in freemarker. I mean something like >> Master page in asp.net or something like balde in php laravel >> >> I want to have nested page layouts or multiple part in master layout can be rewrite > > There's no language feature specialized for this kind of stuff. People > used just to solve layout with macros, though surely a specialized > solution could be much neater in some cases. Also you can pass a macro as parameter to another macro which allows some quite neat things. — Denis. > -- > Thanks, > Daniel Dekany |
From: Daniel D. <dd...@fr...> - 2015-07-28 06:54:12
|
Monday, July 27, 2015, 9:33:09 AM, seyed majid razavian wrote: > Hi Experts. > How can create view layout in freemarker. I mean something like > Master page in asp.net or something like balde in php laravel > > I want to have nested page layouts or multiple part in master layout can be rewrite There's no language feature specialized for this kind of stuff. People used just to solve layout with macros, though surely a specialized solution could be much neater in some cases. -- Thanks, Daniel Dekany |
From: seyed m. r. <sey...@gm...> - 2015-07-27 07:33:16
|
Hi Experts. How can create view layout in freemarker. I mean something like Master page in asp.net or something like balde in php laravel I want to have nested page layouts or multiple part in master layout can be rewrite -- Best regards *Seyed Majid Razavian* *Developer in Afagh SoftComapny* Email:seyedmajidrazavian@{yahoo,gmail}.com |
From: Albert K. <moo...@gm...> - 2015-07-10 03:46:14
|
Hello, Would it be possible to add current_macro_name, just like the current_template_name, to the special variable list ? For those who needs the reference: http://freemarker.org/docs/ref_specvar.html In my use case, some string values within the macro is always the same as the macro name, and i'd like to avoid keeping them in sync. Thank you, Albert -- Do not pursue the past. Do not lose yourself in the future. The past no longer is. The future has not yet come. Looking deeply at life as it is in the very here and now, the practitioner dwells in stability and freedom. (Thich Nhat Hanh) |
From: gkamle <gov...@gm...> - 2015-07-07 13:34:35
|
I am new to "smooks and freemarker".I want access elements in xml document.I am getting this exception while acessing xml element.I am sending my code. Exception:- ------------ For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), but this evaluated to a sequence+hash (wrapper: f.e.dom.NodeListModel): ==> employee["first_name"] [in template "free-marker-template" at line 1, column 84] ---- Tip: This XML query result can't be used as string because for that it had to contain exactly 1 XML node, but it contains 0 nodes. That is, the constructing XML query has found no matches. ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${employee["first_name"]} [in template "free-marker-template" at line 1, column 82] ---- Java stack trace (for programmers): ---- freemarker.core.NonStringException: [... Exception message was already printed; see it above ...] at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:381) at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82) at freemarker.core.DollarVariable.accept(DollarVariable.java:40) at freemarker.core.Environment.visit(Environment.java:312) The following are versions java version : "1.7.0_45" freemarker : 2.3.22 smooks : 1.6 javacode:- ----------- package test; import java.io.BufferedInputStream; import java.io.BufferedWriter; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.milyn.Smooks; import org.milyn.SmooksException; import org.milyn.container.ExecutionContext; import org.milyn.event.report.HtmlReportGenerator; import org.milyn.io.StreamUtils; import org.milyn.payload.StringResult; import org.xml.sax.SAXException; public class SmooksExample { public SmooksExample() { // TODO Auto-generated constructor stub } protected static void runSmooksNew() throws IOException, SAXException, SmooksException { try { Long stTime = System.currentTimeMillis(); System.out.println(stTime + "==" + new Date()); Writer xmlResultWriter = new BufferedWriter(new FileWriter(new File("C:\\Files\\SmookExample\\output_sax.dat"))); transCustomerCSV(new File("C:\\Files\\emp_namespace.xml"), xmlResultWriter); Long edTime = System.currentTimeMillis(); System.out.println(edTime + "==" + (edTime-stTime) + "===="+ new Date()); String times = String.format("%d min, %d sec", TimeUnit.MILLISECONDS.toMinutes(edTime-stTime), TimeUnit.MILLISECONDS.toSeconds(edTime-stTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(edTime-stTime)) ); System.out.println(times); } finally { //smooks.close(); } } public static void transCustomerCSV(File csvSourceReader, Writer xmlResultWriter) throws IOException, SAXException { File f = new File("C:/TEMPLATES/smooks-config.xml"); URI u = f.toURI(); Smooks smooks = new Smooks(u.getPath()); ExecutionContext ec = smooks.createExecutionContext(); smooks.filterSource(ec, new StreamSource(csvSourceReader), new StreamResult(xmlResultWriter)); } /** * @param args */ public static void main(String[] args) throws IOException, SAXException, SmooksException { System.out.println("\n\n"); System.out.println("==============Message In=============="); SmooksExample.runSmooksNew(); System.out.println("======================================\n"); } } Smooks-config.xml -------------------- <smooks-resource-list xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd" xmlns:core="http://www.milyn.org/xsd/smooks/smooks-core-1.3.xsd" xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd" xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"> <params> SAX false </params> <core:namespaces> <core:namespace prefix="empl" uri="http://www.example.com/employees"/> </core:namespaces> <resource-config selector="employee,first_name"> <resource>org.milyn.delivery.DomModelCreator</resource> </resource-config> <ftl:freemarker applyOnElement="first_name"> <ftl:template> </ftl:template> </ftl:freemarker> </smooks-resource-list> sample data xml file name: emp_namespace.xml:- -------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <empl:employees xmlns:empl="http://www.example.com/employees"> <empl:employee id="1"> <empl:first_name>Bill</empl:first_name> <empl:last_name>Adams</empl:last_name> <empl:age>25</empl:age> <empl:hire_date>12-06-1995</empl:hire_date> <empl:title>Java programmer</empl:title> <empl:DateCreated> <empl:Year>1980</empl:Year> <empl:Month>01</empl:Month> <empl:Day>01</empl:Day> </empl:DateCreated> <empl:DateCompleted> <empl:Year>1981</empl:Year> <empl:Month>02</empl:Month> <empl:Day>02</empl:Day> </empl:DateCompleted> </empl:employee> <empl:employee id="2"> <empl:first_name>Mary</empl:first_name> <empl:last_name>Jones</empl:last_name> <empl:age>32</empl:age> <empl:hire_date>22-09-2001</empl:hire_date> <empl:title>Sales manager</empl:title> <empl:DateCreated> <empl:Year>1982</empl:Year> <empl:Month>03</empl:Month> <empl:Day>03</empl:Day> </empl:DateCreated> <empl:DateCompleted> <empl:Year>1983</empl:Year> <empl:Month>04</empl:Month> <empl:Day>04</empl:Day> </empl:DateCompleted> </empl:employee> </empl:employees> -- View this message in context: http://freemarker.624813.n4.nabble.com/Beginner-question-Accessing-XML-Attributes-via-Template-tp626522p4655525.html Sent from the freemarker-user mailing list archive at Nabble.com. |
From: gkamle <gov...@gm...> - 2015-07-07 11:49:24
|
am new to "smooks and freemarker".I want access elements in xml document.I am getting this exception while acessing xml element.I am sending my code. Exception:- ------------ For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), but this evaluated to a sequence+hash (wrapper: f.e.dom.NodeListModel): ==> employee["first_name"] [in template "free-marker-template" at line 1, column 84] ---- Tip: This XML query result can't be used as string because for that it had to contain exactly 1 XML node, but it contains 0 nodes. That is, the constructing XML query has found no matches. ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${employee["first_name"]} [in template "free-marker-template" at line 1, column 82] ---- Java stack trace (for programmers): ---- freemarker.core.NonStringException: [... Exception message was already printed; see it above ...] at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:381) at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82) at freemarker.core.DollarVariable.accept(DollarVariable.java:40) at freemarker.core.Environment.visit(Environment.java:312) The following are versions java version : "1.7.0_45" freemarker : 2.3.22 smooks : 1.6 javacode:- ----------- package test; import java.io.BufferedInputStream; import java.io.BufferedWriter; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.milyn.Smooks; import org.milyn.SmooksException; import org.milyn.container.ExecutionContext; import org.milyn.event.report.HtmlReportGenerator; import org.milyn.io.StreamUtils; import org.milyn.payload.StringResult; import org.xml.sax.SAXException; public class SmooksExample { public SmooksExample() { // TODO Auto-generated constructor stub } protected static void runSmooksNew() throws IOException, SAXException, SmooksException { try { Long stTime = System.currentTimeMillis(); System.out.println(stTime + "==" + new Date()); Writer xmlResultWriter = new BufferedWriter(new FileWriter(new File("C:\\Files\\SmookExample\\output_sax.dat"))); transCustomerCSV(new File("C:\\Files\\emp_namespace.xml"), xmlResultWriter); Long edTime = System.currentTimeMillis(); System.out.println(edTime + "==" + (edTime-stTime) + "===="+ new Date()); String times = String.format("%d min, %d sec", TimeUnit.MILLISECONDS.toMinutes(edTime-stTime), TimeUnit.MILLISECONDS.toSeconds(edTime-stTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(edTime-stTime)) ); System.out.println(times); } finally { //smooks.close(); } } public static void transCustomerCSV(File csvSourceReader, Writer xmlResultWriter) throws IOException, SAXException { File f = new File("C:/TEMPLATES/smooks-config.xml"); URI u = f.toURI(); Smooks smooks = new Smooks(u.getPath()); ExecutionContext ec = smooks.createExecutionContext(); smooks.filterSource(ec, new StreamSource(csvSourceReader), new StreamResult(xmlResultWriter)); } /** * @param args */ public static void main(String[] args) throws IOException, SAXException, SmooksException { System.out.println("\n\n"); System.out.println("==============Message In=============="); SmooksExample.runSmooksNew(); System.out.println("======================================\n"); } } Smooks-config.xml -------------------- <smooks-resource-list xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd" xmlns:core="http://www.milyn.org/xsd/smooks/smooks-core-1.3.xsd" xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd" xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"> <params> SAX false </params> <core:namespaces> <core:namespace prefix="empl" uri="http://www.example.com/employees"/> </core:namespaces> <resource-config selector="employee,first_name"> <resource>org.milyn.delivery.DomModelCreator</resource> </resource-config> <ftl:freemarker applyOnElement="first_name"> <ftl:template> </ftl:template> </ftl:freemarker> </smooks-resource-list> sample data xml file name: emp_namespace.xml:- -------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <empl:employees xmlns:empl="http://www.example.com/employees"> <empl:employee id="1"> <empl:first_name>Bill</empl:first_name> <empl:last_name>Adams</empl:last_name> <empl:age>25</empl:age> <empl:hire_date>12-06-1995</empl:hire_date> <empl:title>Java programmer</empl:title> <empl:DateCreated> <empl:Year>1980</empl:Year> <empl:Month>01</empl:Month> <empl:Day>01</empl:Day> </empl:DateCreated> <empl:DateCompleted> <empl:Year>1981</empl:Year> <empl:Month>02</empl:Month> <empl:Day>02</empl:Day> </empl:DateCompleted> </empl:employee> <empl:employee id="2"> <empl:first_name>Mary</empl:first_name> <empl:last_name>Jones</empl:last_name> <empl:age>32</empl:age> <empl:hire_date>22-09-2001</empl:hire_date> <empl:title>Sales manager</empl:title> <empl:DateCreated> <empl:Year>1982</empl:Year> <empl:Month>03</empl:Month> <empl:Day>03</empl:Day> </empl:DateCreated> <empl:DateCompleted> <empl:Year>1983</empl:Year> <empl:Month>04</empl:Month> <empl:Day>04</empl:Day> </empl:DateCompleted> </empl:employee> </empl:employees> -- View this message in context: http://freemarker.624813.n4.nabble.com/How-to-get-xml-element-having-namespace-using-java-smooks-and-freemarker-tp4655524.html Sent from the freemarker-user mailing list archive at Nabble.com. |
From: Daniel D. <dd...@fr...> - 2015-07-05 16:03:20
|
FreeMarker 2.3.23 is out! Changes: http://freemarker.org/docs/versions_2_3_23.html Download: http://sourceforge.net/projects/freemarker/files/freemarker/2.3.23/freemarker-2.3.23.tar.gz/download <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> -- Best regards, Daniel Dekany |
From: Jacopo C. <jac...@gm...> - 2015-07-02 05:10:43
|
I have tested the release candidate with OFBiz and everything seems to work fine; you can review the upgrade in this feature branch: https://github.com/jacopoc/ofbiz/tree/freemarker-2.3.23-rc Regards, Jacopo On Jul 1, 2015, at 8:55 PM, Daniel Dekany <dd...@fr...> wrote: > Those who meant to test the 2.3.23 release candidate, note that the > release is only 4 days away. And out of curiosity, who did it? > > You can grab it here (this contains the changes in the Version history > appendix, if you open the Manual): > http://sourceforge.net/projects/freemarker/files/freemarker/2.3.23-rc01/freemarker-2.3.23-rc01.tar.gz/download > > (BTW, there are 202 downloads of this on sf.net, but I don't know how > many of those are bots and miss-clicks and such.) > > -- > Best regards, > Daniel Dekany > > > ------------------------------------------------------------------------------ > Don't Limit Your Business. Reach for the Cloud. > GigeNET's Cloud Solutions provide you with the tools and support that > you need to offload your IT needs and focus on growing your business. > Configured For All Businesses. Start Your Cloud Today. > https://www.gigenetcloud.com/ > _______________________________________________ > FreeMarker-user mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freemarker-user |
From: Daniel D. <dd...@fr...> - 2015-07-01 18:55:46
|
Those who meant to test the 2.3.23 release candidate, note that the release is only 4 days away. And out of curiosity, who did it? You can grab it here (this contains the changes in the Version history appendix, if you open the Manual): http://sourceforge.net/projects/freemarker/files/freemarker/2.3.23-rc01/freemarker-2.3.23-rc01.tar.gz/download (BTW, there are 202 downloads of this on sf.net, but I don't know how many of those are bots and miss-clicks and such.) -- Best regards, Daniel Dekany |
From: Woonsan Ko <w....@on...> - 2015-06-26 11:41:13
|
That's big news!!! Thank you so much! Woonsan (Sent via my mobile device. Apologies for any typos.) On Jun 26, 2015 2:59 AM, "Daniel Dekany" <dd...@fr...> wrote: > With 20 positive votes (13 binding and 7 non-binding) and no negative > vote, the vote to accept Freemarker into the Apache Incubator was > successful. > > Thanks to Jacopo Cappellato for his work on this, and of all the > others who helped! > > I plan to start moving over to Apache infrastructure after July the > 5th (that's the 2.3.23 release date). Then comes the hard part, > graduating from incubation. We will need active contributors (active > community in general) for that! > > -- > Best regards, > Daniel Dekany > > > > ------------------------------------------------------------------------------ > Monitor 25 network devices or servers for free with OpManager! > OpManager is web-based network management software that monitors > network devices and physical & virtual servers, alerts via email & sms > for fault. Monitor 25 devices for free with no restriction. Download now > http://ad.doubleclick.net/ddm/clk/292181274;119417398;o > _______________________________________________ > FreeMarker-devel mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freemarker-devel > |
From: Daniel D. <dd...@fr...> - 2015-06-26 06:58:50
|
With 20 positive votes (13 binding and 7 non-binding) and no negative vote, the vote to accept Freemarker into the Apache Incubator was successful. Thanks to Jacopo Cappellato for his work on this, and of all the others who helped! I plan to start moving over to Apache infrastructure after July the 5th (that's the 2.3.23 release date). Then comes the hard part, graduating from incubation. We will need active contributors (active community in general) for that! -- Best regards, Daniel Dekany |
From: Daniel D. <dd...@fr...> - 2015-06-21 10:22:04
|
Test it, especially if it breaks something in your existing applications, and give feedback! Final release is planned for July the 5th (that's only two weeks from now). Download (includes documentation with full change log): http://sourceforge.net/projects/freemarker/files/freemarker/2.3.23-rc01/freemarker-2.3.23-rc01.tar.gz/download (Binary-only for Google App Engine: http://sourceforge.net/projects/freemarker/files/freemarker/2.3.22/freemarker-gae-2.3.22.jar/download) A quick overview of the most important changes (see full documentation in the downloadable distribution): * Listing-related (#list) specialized convenience features that target some of the most typical tasks in templates: * New list directive child directives, #else and #items deal with the special cases with 0-length lists. #sep makes inserting separators between items much easier than it was with #if + ..._has_next. * New built-ins that act on loop variables: var?index (deprecates var_index), var?counter (1-based index), var?has_next (deprecates var_has_next), var?item_parity (returns "odd" or "even"), var?item_cycle("lightRow", "darkRow"), and some more. * Convenience assignment operators, like in <#assign counter++> and <#assign counter += 2> * True ternary operator equivalent: someBoolean?then(whenTrue, whenFalse) * Switch as expression: someValue?switch(case1, result1, case2, result2, ... caseN, resultN, defaultResult) * FTL now supports camel case for the identifiers that are part of the template language. For example, <#noEscape>${x?upperCase}</#noEscape> or <#setting numberFormat="0.0"> or <#ftl stripText=true> are valid. You can just start using camel case without configuring anything, however, within the same template, FreeMarker will require you to use the same naming convention for all identifiers that are part of the template language. (Also, a certain naming convention can be enforced for all templates from configuration.) * More configurable template loading for FreemarkerServlet, also loading from Servlet 3.0 META-INF/resources now works as expected * Various bugfixes -- Thanks, Daniel Dekany |
From: Daniel D. <dd...@fr...> - 2015-06-08 22:47:42
|
Sadly it's not possible (with public API). -- Thanks, Daniel Dekany Monday, June 8, 2015, 11:43:47 AM, Eirik Lygre wrote: > We have a use case where we would like to call a <#macro> from a > TemplateDirectiveModel. Is this possible, and how? > > Eirik |
From: Eirik L. <eir...@gm...> - 2015-06-08 09:44:05
|
We have a use case where we would like to call a <#macro> from a TemplateDirectiveModel. Is this possible, and how? Eirik |
From: Daniel D. <dd...@fr...> - 2015-06-07 13:44:00
|
On second though, having some final methods is not a problem. The problem is simply that Freemarker doesn't define a service interface, which then Configuration would implement (and then only the methods that are also in the service interface must be non-final). If I add a such interface (is freemarker.template.FreemarkerService a good name?), will you or somebody else test if now it indeed works with Felix / Blueprint, and if the interface contains the methods that are expected from a "Freemarker service" (I guess the setting setters won't be there for example)? We also have some other strange problem reported for Felix: https://sourceforge.net/p/freemarker/bugs/428/ Someone feels like picking this up, and test that (A) the Freemarker bundle (that's just freemarker.jar - it's already an OSGi bundle) can be used under Felix without problems from a different bundle via its package exports, and (B) that it can be used as a Blueprint service out-of-the-box? Ideally, testing means testing in the form of a JUnit tests. -- Thanks, Daniel Dekany Thursday, May 21, 2015, 12:59:25 AM, Daniel Dekany wrote: > Note that "works on OSGi" doesn't imply at all that it can be (easily) > proxyed (for Buleprint or whatever). It just means that you can drop > the jar into an OSGi container, and then can link to it from the other > bundles. > > OTOH surely if somebody for some reason wants to proxy Configuration, > final methods make it hard (requires byte code manipulation). I will > consider making them non-final in 2.3.23. > > > Wednesday, May 20, 2015, 4:30:43 PM, halil wrote: > >> Hi All, >> >> I could not create a reference of freemarker.template.Configuration >> on OSGI blueprint file. I referenced it as below. Blueprint throwed >> exception which states that Configuration class has final method >> declerations. It seems that OSGI (org.apache.felix.framework-4.4.1) >> does not support injection of classes having final method declerations... >> >> <reference id="freemarkerCfgRef" >> interface="freemarker.template.Configuration" ext:proxy-method='classes' /> >> >> When I did below steps, I succeed. >> >> 1. create an interface of Configuration class >> 2. put it a new package named freemarker.template.api. >> 3. Configuration class now implements >> freemarker.template.api.FreeMarkerConfigurationInt >> 3. reference it as below >> >> <reference id="freemarkerCfgRef" >> interface="freemarker.template.api.FreeMarkerConfigurationInt" /> >> >> Now, it works perfectly... >> >> I read some mails of developers stating that freemarker works on >> OSGI but I could not succeed until I have done it as above... >> >> >> I would like to inform you, >> >> >> best, >> >> >> -halil. > |
From: Daniel D. <dd...@fr...> - 2015-06-04 19:33:39
|
Hard to tell from this where the problem lies... What I see is that you have #include inside a #list (or perhaps #foreach), and then you have a template cache miss or has to do an up-to-date-check (you can find out which be looking at the source code of the exact version, which I don't know what is), so the #include actually has to do I/O. I don't know if something inside the zip file reading stuck and that eats CPU, or simply there are constant template cache misses and so you repeat this relatively expensive operation a lot (as you are inside a #list loop). You may check the "freemarker.cache" log category with DEBUG level to see if caching works. Thursday, June 4, 2015, 6:38:03 PM, luz...@rd... wrote: > hi, > i need some help,our site cpu went hight yesterday,cause user cant > visit,and i found full jstack log like this. > > this is jstack log: > > "server://10.168.32.115:7921-1009" daemon prio=10 > tid=0x00002aaad03ac000 nid=0x65b runnable [0x00002aab01c9c000] > java.lang.Thread.State: RUNNABLE > at java.util.zip.ZipFile.open(Native Method) > at java.util.zip.ZipFile.<init>(ZipFile.java:127) > at java.util.zip.ZipFile.<init>(ZipFile.java:88) > at com.caucho.vfs.Jar.getZipFile(Jar.java:650) > at com.caucho.vfs.Jar.getZipEntryImpl(Jar.java:560) > at com.caucho.vfs.Jar.getZipEntry(Jar.java:540) > at com.caucho.vfs.Jar.exists(Jar.java:338) > at com.caucho.vfs.JarPath.exists(JarPath.java:146) > at com.caucho.loader.JarListLoader.getPath(JarListLoader.java:332) > at com.caucho.loader.Loader.getResource(Loader.java:142) > at > com.caucho.loader.DynamicClassLoader.getResource(DynamicClassLoader.java:1816) > at java.lang.Class.getResource(Class.java:2074) > at > freemarker.cache.ClassTemplateLoader.getURL(ClassTemplateLoader.java:149) > at > freemarker.cache.URLTemplateLoader.findTemplateSource(URLTemplateLoader.java:74) > at > freemarker.cache.MultiTemplateLoader.findTemplateSource(MultiTemplateLoader.java:113) > at > freemarker.cache.TemplateCache.acquireTemplateSource(TemplateCache.java:628) > at > freemarker.cache.TemplateCache.findTemplateSource(TemplateCache.java:604) > at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:260) > at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:205) > at > freemarker.template.Configuration.getTemplate(Configuration.java:740) > at > freemarker.core.Environment.getTemplateForInclusion(Environment.java:1694) > at freemarker.core.Include.accept(Include.java:159) > at freemarker.core.Environment.visit(Environment.java:265) > at freemarker.core.MixedContent.accept(MixedContent.java:93) > at freemarker.core.Environment.visit(Environment.java:265) > at freemarker.core.Environment.include(Environment.java:1712) > at freemarker.core.Include.accept(Include.java:172) > at > freemarker.core.Environment.visitByHiddingParent(Environment.java:286) > at > freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:193) > at > freemarker.core.Environment.visitIteratorBlock(Environment.java:509) > at freemarker.core.IteratorBlock.accept(IteratorBlock.java:103) > at > freemarker.core.Environment.visitByHiddingParent(Environment.java:286) > at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:86) > at freemarker.core.Environment.visit(Environment.java:265) > at freemarker.core.MixedContent.accept(MixedContent.java:93) > at > freemarker.core.Environment.visitByHiddingParent(Environment.java:286) > at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:86) > at freemarker.core.Environment.visit(Environment.java:265) > at freemarker.core.MixedContent.accept(MixedContent.java:93) > at freemarker.core.Environment.visit(Environment.java:265) > at freemarker.core.Environment.include(Environment.java:1712) > at freemarker.core.Include.accept(Include.java:172) > at freemarker.core.Environment.visit(Environment.java:265) > at freemarker.core.MixedContent.accept(MixedContent.java:93) > at freemarker.core.Environment.visit(Environment.java:265) > at freemarker.core.Environment.process(Environment.java:243) > at freemarker.template.Template.process(Template.java:277) > at > org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:366) > at > org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:283) > at > org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:233) > at > org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167) > at > org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:264) > at > org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208) > at > org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992) > at > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939) > at > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) > at > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) > at > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:119) > at > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:96) > at > com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) > > 24...@gm... -- Thanks, Daniel Dekany |
From: <luz...@rd...> - 2015-06-04 17:03:06
|
hi, i need some help,our site cpu went hight yesterday,cause user cant visit,and i found full jstack log like this. this is jstack log: "server://10.168.32.115:7921-1009" daemon prio=10 tid=0x00002aaad03ac000 nid=0x65b runnable [0x00002aab01c9c000] java.lang.Thread.State: RUNNABLE at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:127) at java.util.zip.ZipFile.<init>(ZipFile.java:88) at com.caucho.vfs.Jar.getZipFile(Jar.java:650) at com.caucho.vfs.Jar.getZipEntryImpl(Jar.java:560) at com.caucho.vfs.Jar.getZipEntry(Jar.java:540) at com.caucho.vfs.Jar.exists(Jar.java:338) at com.caucho.vfs.JarPath.exists(JarPath.java:146) at com.caucho.loader.JarListLoader.getPath(JarListLoader.java:332) at com.caucho.loader.Loader.getResource(Loader.java:142) at com.caucho.loader.DynamicClassLoader.getResource(DynamicClassLoader.java:1816) at java.lang.Class.getResource(Class.java:2074) at freemarker.cache.ClassTemplateLoader.getURL(ClassTemplateLoader.java:149) at freemarker.cache.URLTemplateLoader.findTemplateSource(URLTemplateLoader.java:74) at freemarker.cache.MultiTemplateLoader.findTemplateSource(MultiTemplateLoader.java:113) at freemarker.cache.TemplateCache.acquireTemplateSource(TemplateCache.java:628) at freemarker.cache.TemplateCache.findTemplateSource(TemplateCache.java:604) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:260) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:205) at freemarker.template.Configuration.getTemplate(Configuration.java:740) at freemarker.core.Environment.getTemplateForInclusion(Environment.java:1694) at freemarker.core.Include.accept(Include.java:159) at freemarker.core.Environment.visit(Environment.java:265) at freemarker.core.MixedContent.accept(MixedContent.java:93) at freemarker.core.Environment.visit(Environment.java:265) at freemarker.core.Environment.include(Environment.java:1712) at freemarker.core.Include.accept(Include.java:172) at freemarker.core.Environment.visitByHiddingParent(Environment.java:286) at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:193) at freemarker.core.Environment.visitIteratorBlock(Environment.java:509) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:103) at freemarker.core.Environment.visitByHiddingParent(Environment.java:286) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:86) at freemarker.core.Environment.visit(Environment.java:265) at freemarker.core.MixedContent.accept(MixedContent.java:93) at freemarker.core.Environment.visitByHiddingParent(Environment.java:286) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:86) at freemarker.core.Environment.visit(Environment.java:265) at freemarker.core.MixedContent.accept(MixedContent.java:93) at freemarker.core.Environment.visit(Environment.java:265) at freemarker.core.Environment.include(Environment.java:1712) at freemarker.core.Include.accept(Include.java:172) at freemarker.core.Environment.visit(Environment.java:265) at freemarker.core.MixedContent.accept(MixedContent.java:93) at freemarker.core.Environment.visit(Environment.java:265) at freemarker.core.Environment.process(Environment.java:243) at freemarker.template.Template.process(Template.java:277) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:366) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:283) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:233) at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:264) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844) at javax.servlet.http.HttpServlet.service(HttpServlet.java:119) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) at javax.servlet.http.HttpServlet.service(HttpServlet.java:96) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) 24...@gm... |
From: FOX427 <427...@gm...> - 2015-06-04 16:55:03
|
Sorry for late response. in XML: <items> <entry> <label>item 1</label> <url>http://www.ibm.com</url> </entry> <entry> <label>item 2</label> <url>www.usatoday.com</url> </entry> </items> in ftl: <#list items.entry as entry> ${entry.label} <${entry.url}> <br> </#list> in page source: item 1 <http://www.ibm.com> <br> item 2 <www.usatoday.com> <br> -- View this message in context: http://freemarker.624813.n4.nabble.com/ensure-starts-with-issue-tp4655468p4655482.html Sent from the freemarker-user mailing list archive at Nabble.com. |
From: Daniel D. <dd...@fr...> - 2015-06-02 21:16:29
|
ensure_starts_with should work for this too, and it's terser than what you do. Could you show the concrete template snippet, and the resulting output (copy-parsed from the browser source view)? Tuesday, June 2, 2015, 6:40:59 PM, FOX427 wrote: > for now I have added this and it works so far: > > <#if url?starts_with("http")> > ${label} <${url}> <br> > <#else> > ${label} <http://${url}> <br> > </#if> > > > > -- > View this message in context: > http://freemarker.624813.n4.nabble.com/ensure-starts-with-issue-tp4655468p4655469.html > Sent from the freemarker-user mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > _______________________________________________ > FreeMarker-user mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freemarker-user > -- Thanks, Daniel Dekany |
From: FOX427 <427...@gm...> - 2015-06-02 17:00:00
|
for now I have added this and it works so far: <#if url?starts_with("http")> ${label} <${url}> <br> <#else> ${label} <http://${url}> <br> </#if> -- View this message in context: http://freemarker.624813.n4.nabble.com/ensure-starts-with-issue-tp4655468p4655469.html Sent from the freemarker-user mailing list archive at Nabble.com. |