2011-07-13 7 views
6

¿Alguien tiene una solución elegante para pasar los valores del servidor a javascript (que no está en línea) en playframework? al igual que $ {x} o & { 'x'} dentro de HTMLPlayframework: forma elegante de pasar los valores a javascript

Actualmente me ocurre

<script type="text/javascript"> 
    var x= ${x}; 
    </script> 
    <script src="/public/javascripts/jsThatUsesX.js" type="text/javascript" ></script> 

Estoy pensando que hay una mejor solución desde el juego

Respuesta

2

No es bonito, pero esa es la forma en que siempre termino haciéndolo.

Si los valores que está pasando a JavaScript describen algo en el DOM, puede considerar el uso de atributos de datos HTML 5 para colocar esa información en el HTML. Luego puede recuperarlo con getAttribute. p.ej. Si la página es un blog y lo que necesita para almacenar el ID del mensaje podría utilizar

<div class="post" data-post-id="77"> 
    ... 
</div> 

De esta manera los datos se separa hacia fuera de la lógica y que no necesita ningún JavaScript inline. También podría usar un campo de formulario oculto.

2

Qué hay de malo con eso ? Me encontré haciendo cosas como

<script> 
    var trades = [${_trades.collect {models.Trade t -> t.price}.join(", ")}]; 
    // ... 
</script> 

me gusta la manera maravilloso;)

+0

Andre, no hay nada de malo en eso :-). Amo a Groovy. Quiero la capacidad de pasar objetos directamente a javascripts de forma elegante (y evitar inline) – roshan

Cuestiones relacionadas