понедельник, 13 июня 2011 г.

Альтернативный способ написания JSP-страниц. XML-синтаксис

Узнал, что есть альтернативный вариант написания jsp-страниц. Вместо простой страницы хтмл со вставками директив, сприптлетов, выражений, можно тоже самое делать но под другими именами. Так называемый иксемельный формат. Только вот таким файлам принято ставить расширение *.jspx:

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
  version="1.2">
 
 <!-- альтернатива >% @ page...%> -->
 <jsp:directive.page contentType="text/html"/>
 <jsp:directive.page import="java.util.Date, java.util.Locale"/>
 <jsp:directive.page import="java.text.*"/>

 <!-- альтернатива <%! ... %>-->
 <jsp:declaration>
    String getDateTimeStr(Locale l) {
   DateFormat df = SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, l);
       return df.format(new Date());
    }
 </jsp:declaration>

 <!-- альтернатива <% %> --> 
 <jsp:scriptlet>
  // Note we need to declare CDATA because we don't escape the less than symbol
  <![CDATA[
    for (int i = 1; i<=10; i++) {
      out.println(i);
      if (i < 10) {
        out.println(", ");
      }
    }
  ]]>
 </jsp:scriptlet>

 <!-- альтернатива <%= ...%> -->
 <jsp:expression>getDateTimeStr(request.getLocale())</jsp:expression>

 ...тело страницы(хтм теги, только в правильном формате иксемель(без поблажек))...
 
 <!-- можно так: -->
 <p>This sentence is enclosed in a jsp:text element.</p>
 <!-- или вот так: -->
 <jsp:text>
    &lt;p&gt;This sentence is enclosed in a jsp:text element.&lt;/p&gt;
 </jsp:text>

 <!-- если не хотим писать хтмл код без поблажек, то: -->
 <!-- Because I omit br's end tag, declare it as CDATA -->
 <![CDATA[
   <br><br>
 ]]>
</jsp:root>

Комментариев нет:

Отправить комментарий