2012-12-11 9 views
5

Lütfen cevaplamadan önce okuyun. Bu bir fantastik programlama tekniğidir Hayal kuruyorum. Gerçek hayatta yakın bir şey olup olmadığını bilmek istiyorum. HTML'yi karıştırmadan Pure JSP, Java benzeri kod olarak html yazarak

aşağıdaki JSP sayfası:

<% 
html { 
    head { 
     title {"Pure fantasy";} 
    } 
    body { 
     h1 {"A heading with double quote (\") character";} 
     p {"a paragraph";} 
     String s = "a paragraph in string. the date is "; 
     p { 
      s; 
      new Date().toString(); 
     } 
     table (Border.ZERO, new Padding(27)) { 
      tr { 
       for (int i = 0; i < 10; i++) { 
        td {i;} 
       } 
      } 
     } 
    } 
} 
%> 

aşağıdaki HTML sayfası oluşturabilir:

<html> 
    <head> 
     <title>Pure fantasy</title> 
    </head> 
    <body> 
     <h1>A heading with double quote (") character</h1> 
     <p>a paragraph</p> 
     <p>a paragraph in string. the date is 11 December 2012</p> 
     <table border="0" padding="27"> 
      <tr> 
       <td>0</td> 
       <td>1</td> 
       <td>2</td> 
       <td>3</td> 
       <td>4</td> 
       <td>5</td> 
       <td>6</td> 
       <td>7</td> 
       <td>8</td> 
       <td>9</td> 
      </tr> 
     </table> 
    </body> 
</html> 

bu fantezi hakkında şey kullanılan özelleştirilmiş anahtar kelimeleri etkinleştirmek aynı eski Java programlama dili tekniğini yeniden kullanır olduğunu html etiketlerini, sözdizimsel doğruluk açısından kolayca kontrol edilebilen html etiketlerini temsil etmek için if-else-then,, while, try-catch vb.'ye benzer şekilde ve mos t önemlisi kolayca vb <%, %>, <%=, out.write() denizinde kaybolan olmadan düzenli bir Java kodu ile karışabilecek

bir özellik komutları oluşturulan içine yazdırmak için dizeleri doğrudan yerleştirilebilir olmasıdır ekledi HTML, Java'nın desteklemediği bir şey (saf dizilerin kullanımdan önce değişkenlere atanması gerekir).

  • yakın geliyor gerçek hayatta bir şey var mı?
  • Değilse, özelleştirilmiş anahtar kelimeleri Java veya JSP'de tanımlamak mümkün mü? Ya da bunun için tamamen yeni bir programlama dili oluşturmam gerekiyor mu?
  • Bu tür bir kurulumda hangi sorunları görüyorsunuz?

Not: Ben Java kodu kullanarak HTML oluşturmak için HTML kütüphaneleri kullanabilirsiniz biliyorum ama böyle kütüphaneler ile ilgili problem, kaynak kodu kendisi Yukarıdaki kod yaptığı gibi okunabilir bir HTML temsilini yok edilir - eğer demek istediğimi alırsan.

+4

Tebrikler, yeniden keşfetti ettik PHP, az ya da çok: user guide den bir örnek gibi görünüyor. –

+0

Bir göz atın - http://www.playframework.org/modules/rythm – adatapost

+0

Wow Ben, PHP hakkında ne kadar farklı olduğunu açıklayan -1 :) @TomG tahminini bekliyordum, ama gerçekten istediğim şey görmek JSP, HTML'yi karıştırma konusundaki bağımlılığı kaldırmak için genişletildi (PHP'ye geçme :)). AVD, teşekkürler, Play, Ritim, Japid veya Jamon dahil olmak üzere herhangi bir şeyin ne olduğu hakkında hiçbir ipucu yok. – ADTC

cevap

2

Java'dan değil, Ruby dünyasından, ancak Haml'a bakın.

+0

OMG bu kadar güzel .... :) Eğer ana sayfanızdan veya başka bir şeyden bir örnekle cevabınızı uzatırsanız güzel olur :) – ADTC

+0

[HAML'un Java uygulaması] (https://github.com/ raymyers/JHaml). –

1

Temel olarak alternatif bir HTML şablon oluşturma soracağınız gibi geliyor. Bunun için google'da birçok seçenek var. Oldukça sık görünen (Java için) Apache Velocity'dur.

<HTML> 
<BODY> 
Hello $customer.Name! 
<table> 
#foreach($mud in $mudsOnSpecial) 
    #if ($customer.hasPurchased($mud)) 
     <tr> 
     <td> 
      $flogger.getPromo($mud) 
     </td> 
     </tr> 
    #end 
#end 
</table>