Class Kwartz::JstlTranslator
In: kwartz/binding/jstl.rb
Parent: BaseTranslator

translator for php

Methods

Constants

JSTL11_EMBED_PATTERNS = [ '', '', # statement '<c:out value="${', '}" escapeXml="false"/>', # expression '<c:out value="${', '}"/>'
JSTL12_EMBED_PATTERNS = [ '', '', # statement '<c:out value="${', '}" escapeXml="false"/>', # expression '${', '}'

Public Class methods

[Source]

# File kwartz/binding/jstl.rb, line 306
    def initialize(properties={})
      jstl_ver = properties[:jstl] || Config::PROPERTY_JSTL
      super(jstl_ver < 1.2 ? JSTL11_EMBED_PATTERNS : JSTL12_EMBED_PATTERNS, properties)
      @jstl_ver = jstl_ver
      unless self.header
        sb = ''
        if charset = properties[:charset]
          sb << "<%@ page contentType=\"text/html; charset=#{charset}\" %>" << @nl
        else
          #sb << "<%@ page contentType=\"text/html\" %>" << @nl
        end
        if @jstl_ver < 1.2
          sb << '<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>' << @nl
        else
          sb << '<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>'      << @nl
          sb << '<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>' << @nl
        end
        self.header = sb
      end
    end

Public Instance methods

[Source]

# File kwartz/binding/jstl.rb, line 328
    def translate_native_expr(expr)
      assert unless expr.is_a?(NativeExpression)
      if expr.code =~ /\A"(.*)"\z/ || expr.code =~ /\A'(.*)'\z/
        @sb << $1
      else
        flag_escape = expr.escape?
        flag_escape = @escape if flag_escape.nil?
        if flag_escape == false
          @sb << @expr_l << expr.code << @expr_r       # ex. <c:out value="${expr}" escapeXml="false"/>
        else
          @sb << @escape_l << expr.code << @escape_r   # ex. <c:out value="${expr}"/>
        end
      end
    end

[Validate]