[
https://issues.apache.org/jira/browse/JEXL-198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Henri Biestro resolved JEXL-198.
--------------------------------
Resolution: Fixed
Fix Version/s: 3.0.1
Added the submitted code (thanks!):
src/main/java/org/apache/commons/jexl3/JxltEngine.java
src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java
src/test/java/org/apache/commons/jexl3/PragmaTest.java
Committed revision 1747593.
The strict compatibility policy would force a different interface name (or
package name change). I suspect that no one will actually be facing a
compatibility issue.
> JxltEngine Template deos not expose pragmas
> -------------------------------------------
>
> Key: JEXL-198
> URL: https://issues.apache.org/jira/browse/JEXL-198
> Project: Commons JEXL
> Issue Type: Improvement
> Affects Versions: 3.0, 3.0.1, 3.1
> Environment: any
> Reporter: Terefang Verigorn
> Assignee: Henri Biestro
> Priority: Minor
> Fix For: 3.0.1
>
>
> JexlScript objects have a getPragmas() method which is awesome useful to
> communicate static information after compilation/parsing but before
> evaluation.
> JxltEngine.Template objects lack that method.
> usage case: JexlServlet vs JexlTemplateServlet
> JexlServlet/output-csv.jxp:
> {code}
> #pragma output-charset "UTF-8"
> #pragma output-content-type "text/csv"
> _out.println("col1;col2;col3;col4;col5");
> for(row : _data)
> {
> _out.print(row.col1+";");
> _out.print(row.col2+";");
> _out.print(row.col3+";");
> _out.print(row.col4+";");
> _out.println(row.col5);
> }
> {code}
> JexlTemplateServlet/output-csv.jxt:
> {code}
> $$ #pragma output-charset "UTF-8"
> $$ #pragma output-content-type "text/csv"
> col1;col2;col3;col4;col5
> $$ for(row : _data) {
> ${row.col1};${row.col2};${row.col3};${row.col4};${row.col5}
> $$ }
> {code}
> but since we cant get the pragmas from the template we have to write;
> {code}
> $$ http_response.setCharset("UTF-8");
> $$ http_response.setContentType("text/csv");
> col1;col2;col3;col4;col5
> $$ for(row : _data) {
> ${row.col1};${row.col2};${row.col3};${row.col4};${row.col5}
> $$ }
> {code}
> The actual case is that the templating engine cant be used "technology
> agnostic", as we might want to use the same script for both http and mail (or
> sms, xmpp, etc) formatting
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)