Uploaded image for project: 'Commons JEXL'
  1. Commons JEXL
  2. JEXL-198

JxltEngine Template deos not expose pragmas

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0, 3.1
    • Fix Version/s: 3.1
    • Labels:
      None
    • Environment:

      any

      Description

      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:

      #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);
      }
      

      JexlTemplateServlet/output-csv.jxt:

      $$ #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}
      $$ }
      

      but since we cant get the pragmas from the template we have to write;

      $$ 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}
      $$ }
      

      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

        Attachments

          Activity

            People

            • Assignee:
              henrib Henri Biestro
              Reporter:
              terefang Terefang Verigorn
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: