You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by wg...@apache.org on 2005/01/30 22:49:27 UTC
svn commit: r149164 [2/3] - in jakarta/velocity/trunk/docs: ./ ymtd/
Modified: jakarta/velocity/trunk/docs/user-guide_es.html
URL: http://svn.apache.org/viewcvs/jakarta/velocity/trunk/docs/user-guide_es.html?view=diff&r1=149163&r2=149164
==============================================================================
--- jakarta/velocity/trunk/docs/user-guide_es.html (original)
+++ jakarta/velocity/trunk/docs/user-guide_es.html Sun Jan 30 13:49:20 2005
@@ -18,7 +18,7 @@
<!-- Content Stylesheet for Site -->
-
+
<!-- start the processing -->
<!-- ====================================================================== -->
<!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
@@ -34,17 +34,17 @@
<meta name="email" value="jcastura@kw.igs.net">
<meta name="author" value="Juan Pablo Morales">
<meta name="email" value="ju-moral@uniandes.edu.co">
-
-
-
-
-
-
-
+
+
+
+
+
+
+
<title>Velocity - Guía del Usuario de Velocity</title>
</head>
- <body bgcolor="#ffffff" text="#000000" link="#525D76">
+ <body bgcolor="#ffffff" text="#000000" link="#525D76">
<table border="0" width="100%" cellspacing="0">
<!-- TOP IMAGE -->
<tr>
@@ -60,11 +60,11 @@
<tr><td colspan="2">
<hr noshade="" size="1"/>
</td></tr>
-
+
<tr>
<!-- LEFT SIDE NAVIGATION -->
<td width="20%" valign="top" nowrap="true">
-
+
<!-- ============================================================ -->
<p><strong>About</strong></p>
@@ -121,6 +121,10 @@
</li>
<li> <a href="./api/index.html">Javadoc</a>
</li>
+ <li> <a href="http://wiki.apache.org/jakarta-velocity/">Wiki</a>
+</li>
+ <li> <a href="http://wiki.apache.org/jakarta-velocity/VelocityFAQ">FAQ</a>
+</li>
</ul>
<p><strong>Tools</strong></p>
<ul>
@@ -169,59 +173,59 @@
<p>
<blockquote>
<ol>
- <li><a href="#Acerca de esta guía">Acerca de esta guía</a></li>
- <li><a href="#¿Qué es Velocity?">¿Qué es Velocity?</a></li>
- <li><a href="#¿Qué puede hacer Velocity por mi?">¿Qué puede hacer Velocity por mi?</a>
- <ol>
- <li><a href="#El Ejemplo de la tienda de Lodo">El Ejemplo de la tienda de
- Lodo</a></li>
- </ol>
+ <li><a href="#Acerca de esta guía">Acerca de esta guía</a></li>
+ <li><a href="#¿Qué es Velocity?">¿Qué es Velocity?</a></li>
+ <li><a href="#¿Qué puede hacer Velocity por mi?">¿Qué puede hacer Velocity por mi?</a>
+ <ol>
+ <li><a href="#El Ejemplo de la tienda de Lodo">El Ejemplo de la tienda de
+ Lodo</a></li>
+ </ol>
</li>
<li><a href="#El Lenguaje de Plantillas de Velocity (VTL): Una Introducción">El Lenguaje de Plantillas de Velocity (VTL): Una Introducción</a></li>
<li><a href="#¡Hola Mundo Velocity!">¡Hola Mundo Velocity!</a></li>
<li><a href="#Comentarios">Comentarios</a></li>
<li><a href="#Referencias">Referencias</a>
- <ol>
- <li><a href="#Variables">Variables</a></li>
- <li><a href="#Propiedades">Propiedades</a></li>
- <li><a href="#Métodos">Métodos</a></li>
- </ol>
+ <ol>
+ <li><a href="#Variables">Variables</a></li>
+ <li><a href="#Propiedades">Propiedades</a></li>
+ <li><a href="#Métodos">Métodos</a></li>
+ </ol>
</li>
<li><a href="#Notación Formal de Referencias">Notación Formal de Referencias</a></li>
<li><a href="#Notación Sileciosa de Referencias">Notación Sileciosa de Referencias</a></li>
<li><a href="#Literalmente">Literalmente</a>
- <ol>
- <li><a href="#Dinero">Dinero</a></li>
- <li><a href="#Escapando Referencias VTL Válidas">Escapando Referencias VTL Válidas</a></li>
- </ol>
+ <ol>
+ <li><a href="#Dinero">Dinero</a></li>
+ <li><a href="#Escapando Referencias VTL Válidas">Escapando Referencias VTL Válidas</a></li>
+ </ol>
</li>
<li><a href="#Sustitución de Mayúsculas y Minúsculas">Sustitución de Mayúsculas y Minúsculas</a></li>
<li><a href="#Directivas">Directivas</a>
- <ol>
- <li><a href="#Set">Set</a></li>
- <li><a href="#Cadenas de Caracteres">Cadenas de Caracteres</a></li>
- <li><a href="#Sentencias If-Else">Sentencias If-Else</a>
- <ol>
- <li><a href="#Operadores Lógicos y Relacionales">Operadores Lógicos y Relacionales</a></li>
- </ol>
- </li>
- <li><a href="#Ciclos Foreach">Ciclos Foreach</a></li>
- <li><a href="#Include">Include</a></li>
- <li><a href="#Parse">Parse</a></li>
- <li><a href="#Stop">Stop</a></li>
- <li><a href="#Velocimacros">Velocimacros</a></li>
- </ol>
+ <ol>
+ <li><a href="#Set">Set</a></li>
+ <li><a href="#Cadenas de Caracteres">Cadenas de Caracteres</a></li>
+ <li><a href="#Sentencias If-Else">Sentencias If-Else</a>
+ <ol>
+ <li><a href="#Operadores Lógicos y Relacionales">Operadores Lógicos y Relacionales</a></li>
+ </ol>
+ </li>
+ <li><a href="#Ciclos Foreach">Ciclos Foreach</a></li>
+ <li><a href="#Include">Include</a></li>
+ <li><a href="#Parse">Parse</a></li>
+ <li><a href="#Stop">Stop</a></li>
+ <li><a href="#Velocimacros">Velocimacros</a></li>
+ </ol>
</li>
<li><a href="#Escapando Directivas VTL">Escapando Directivas VTL</a></li>
<li><a href="#VTL: Asuntos de Formato">VTL: Asuntos de Formato</a></li>
<li><a href="#Otras Características y Miscelánea">Otras Características y Miscelánea</a>
- <ol>
- <li><a href="#Matemáticas">Matemáticas</a></li>
- <li><a href="#El Operador de Rango">El Operador de Rango</a></li>
- <li><a href="#Temas Avanzados: Escapando y !">Temas Avanzados: Escapando y !</a></li>
- <li><a href="#Miscelánea de Velocimacro">Miscelánea de Velocimacro</a></li>
- <li><a href="#Concatenación de Cadenas">Concatenación de Cadenas</a></li>
- </ol>
+ <ol>
+ <li><a href="#Matemáticas">Matemáticas</a></li>
+ <li><a href="#El Operador de Rango">El Operador de Rango</a></li>
+ <li><a href="#Temas Avanzados: Escapando y !">Temas Avanzados: Escapando y !</a></li>
+ <li><a href="#Miscelánea de Velocimacro">Miscelánea de Velocimacro</a></li>
+ <li><a href="#Concatenación de Cadenas">Concatenación de Cadenas</a></li>
+ </ol>
</li>
<li><a href="#Retroalimentación">Retroalimentación</a></li>
</ol>
@@ -415,12 +419,12 @@
para incluir contenido dinámico en un sitio web.
</p>
<p>
- VTL usa <em>referencias</em> para incluir contenido dinámico dentro
- de un sitio web. Una variable es un tipo de referencia que puede
- referirse a algo definido dentro del código Java o obtener su valor
- de un <em>enunciado</em> VTL en la página misma. A continuación hay
- un ejemplo de un enunciado VTL que se puede incluir en un documento
- HTML:
+ VTL usa <em>referencias</em> para incluir contenido dinámico dentro
+ de un sitio web. Una variable es un tipo de referencia que puede
+ referirse a algo definido dentro del código Java o obtener su valor
+ de un <em>enunciado</em> VTL en la página misma. A continuación hay
+ un ejemplo de un enunciado VTL que se puede incluir en un documento
+ HTML:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -444,12 +448,12 @@
</table>
</div>
<p>
- Este enunciado VTL, como todos los enunciados VTL comienza con el
- caracter <em>#</em> y contiene una directiva: <em>set</em>. Cuando
- un visitante solicita su página, el Motor de Plantillas de Velocity
- buscará dentro del contenido de su página y encontrará todos los
- símbolos <em>#</em>, para luego determinar cuáles marcan el comienzo
- de enunciados VTL y cuáles no tienen nada que ver con VTL.
+ Este enunciado VTL, como todos los enunciados VTL comienza con el
+ caracter <em>#</em> y contiene una directiva: <em>set</em>. Cuando
+ un visitante solicita su página, el Motor de Plantillas de Velocity
+ buscará dentro del contenido de su página y encontrará todos los
+ símbolos <em>#</em>, para luego determinar cuáles marcan el comienzo
+ de enunciados VTL y cuáles no tienen nada que ver con VTL.
</p>
<p>
El caracter <em>#</em> viene seguido por una directiva <em>set</em>.
@@ -471,8 +475,8 @@
<p>
La siguiente regla puede ser útil para entender mejor como funciona
Velocity: <strong>Las Referencias comienzan con <em>$</em> y se
- utilizan para obtener algo. Las directivas comienzan con <em>#</em>
- y se utilizan para hacer algo</strong>
+ utilizan para obtener algo. Las directivas comienzan con <em>#</em>
+ y se utilizan para hacer algo</strong>
</p>
<p>
En el ejemplo anterior <em>#set</em> se utilizó para asignarle un valor
@@ -494,10 +498,10 @@
<p>
<blockquote>
<p>
- Una vez un valor ha sido asignado a una variable, usted puede
- referenciar la variable en cualquier lugar dentro del documento
- HTML. En el ejemplo siguiente, un valor es asignado a la variable
- <em>$foo</em>, que luego es referenciada.
+ Una vez un valor ha sido asignado a una variable, usted puede
+ referenciar la variable en cualquier lugar dentro del documento
+ HTML. En el ejemplo siguiente, un valor es asignado a la variable
+ <em>$foo</em>, que luego es referenciada.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -577,12 +581,12 @@
</table>
</div>
<p>
- Un comentario de una sola línea comienza con <em>##</em> y termina
- al final de la línea. Si usted desea escribir varias líneas de
- comentario no es necesario tener numerosos comentarios de una sóla
- línea. Los comentarios de varias líneas, que comienzan con
- <em>#*</em> y terminan con <em>*#</em> le permiten manejar
- fácilmente esta situación.
+ Un comentario de una sola línea comienza con <em>##</em> y termina
+ al final de la línea. Si usted desea escribir varias líneas de
+ comentario no es necesario tener numerosos comentarios de una sóla
+ línea. Los comentarios de varias líneas, que comienzan con
+ <em>#*</em> y terminan con <em>*#</em> le permiten manejar
+ fácilmente esta situación.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -615,8 +619,8 @@
</table>
</div>
<p>
- A continuación hay algunos ejemplos para aclarar como funcionan
- los comentarios de una y varias líneas:
+ A continuación hay algunos ejemplos para aclarar como funcionan
+ los comentarios de una y varias líneas:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -646,9 +650,9 @@
</table>
</div>
<p>
- Existe un tercer tipo de comentario, el bloque de comentario VTL,
- que puede ser utilizado para almacenar datos como el autor y la
- información de versiones:
+ Existe un tercer tipo de comentario, el bloque de comentario VTL,
+ que puede ser utilizado para almacenar datos como el autor y la
+ información de versiones:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -693,36 +697,36 @@
<p>
<blockquote>
<p>
- Existen tres tipos de referencias en VTL: variables, propiedades y
- métodos. Como un diseñador que utilizar VTL, usted y sus ingenieros
- deben llegar a un acuerdo respecto a los nombres de las referencias
- para que usted pueda utilizarlas correctamente en sus plantillas.
+ Existen tres tipos de referencias en VTL: variables, propiedades y
+ métodos. Como un diseñador que utilizar VTL, usted y sus ingenieros
+ deben llegar a un acuerdo respecto a los nombres de las referencias
+ para que usted pueda utilizarlas correctamente en sus plantillas.
</p>
<p>
- Todo lo que entra y sale de una referencia se trata como una cadena
- de caracteres (un objeto String). Si existe un objeto que representa
- <em>$foo</em> (por ejemplo, un objeto Integer), entonces Velocity
- llamará el método <code>.toString()</code> de ese objeto para
- convertirlo en una cadena de caracteres.
+ Todo lo que entra y sale de una referencia se trata como una cadena
+ de caracteres (un objeto String). Si existe un objeto que representa
+ <em>$foo</em> (por ejemplo, un objeto Integer), entonces Velocity
+ llamará el método <code>.toString()</code> de ese objeto para
+ convertirlo en una cadena de caracteres.
</p>
<p>
<a name="Variables"><strong>Variables</strong></a>
<br />
- La notación breve de una variable esta compuesta por un signo "$"
- inicial seguido de un <em>Identificador</em>. Un identificador VTL
- debe comenzar con un caracter alfabético (a .. z ó A .. Z). El resto
- de los caracteres deb ser de alguno de los siguiente tipos:
+ La notación breve de una variable esta compuesta por un signo "$"
+ inicial seguido de un <em>Identificador</em>. Un identificador VTL
+ debe comenzar con un caracter alfabético (a .. z ó A .. Z). El resto
+ de los caracteres deb ser de alguno de los siguiente tipos:
</p>
<p>
<ul>
<li>alfabético (a .. z, A .. Z)</li>
- <li>numérico (0 .. 9)</li>
- <li>línea ("-")</li>
+ <li>numérico (0 .. 9)</li>
+ <li>línea ("-")</li>
<li>underscore ("_")</li>
</ul>
</p>
<p>
- A continuación hay algunos ejemplos de referencias válidas en VTL:
+ A continuación hay algunos ejemplos de referencias válidas en VTL:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -750,14 +754,14 @@
</table>
</div>
<p>
- Cuando VTL hace referencia una variable, po ejemplo, <em>$foo</em>,
- la variable puede obtener su valor de una directiva <em>set</em>
- dentro de la plantilla, o del código Java. Por ejemplo, si la
- variable de Java <em>$foo</em> tiene el valor <em>bar</em> en el
- momento en que se solicita la plantilla, entonces <em>bar</em>
- reemplaza todas las ocurrencias (o instancias) de <em>$foo</em>
- dentro de la página web. De manera alterna, si se incluye el
- enunciado
+ Cuando VTL hace referencia una variable, po ejemplo, <em>$foo</em>,
+ la variable puede obtener su valor de una directiva <em>set</em>
+ dentro de la plantilla, o del código Java. Por ejemplo, si la
+ variable de Java <em>$foo</em> tiene el valor <em>bar</em> en el
+ momento en que se solicita la plantilla, entonces <em>bar</em>
+ reemplaza todas las ocurrencias (o instancias) de <em>$foo</em>
+ dentro de la página web. De manera alterna, si se incluye el
+ enunciado
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -781,17 +785,17 @@
</table>
</div>
<p>
- La salida será la misma para todas las instancias de <em>$foo</em>
- que se encuentren a continuación es esta directiva.
+ La salida será la misma para todas las instancias de <em>$foo</em>
+ que se encuentren a continuación es esta directiva.
</p>
<p>
<a name="Propiedades"><strong>Propiedades</strong></a>
<br />
- El segundo sabor de referencias VTL son las propiedades; las
- propiedades tienen un formato particular. La versión corta se
- compone de un signo <em>$</em> seguido de un identificador VTL,
- seguido de un punto y de otro identificador VTL. A continuación hay
- ejemplos de referencias de propiedades válidas en VTL:
+ El segundo sabor de referencias VTL son las propiedades; las
+ propiedades tienen un formato particular. La versión corta se
+ compone de un signo <em>$</em> seguido de un identificador VTL,
+ seguido de un punto y de otro identificador VTL. A continuación hay
+ ejemplos de referencias de propiedades válidas en VTL:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -816,29 +820,29 @@
</table>
</div>
<p>
- Tome el primer ejemplo, <em>$cliente.Direccion</em>. Puede tener dos
- significados. Puede significar, Busque en la tabla de hashing
- identificada como <em>cliente</em> y devuelva el valor asociado con
- la llave <em>Direccion</em>. Pero <em>$customer.Address</em> puede
- también referirse a un método (las referencias que se relacionan con
- métodos se discutirán en la sección siguiente);
- <em>$customer.Address</em> puede ser una manera corta de escribir
- <em>$customer.getAddress()</em>. Cuando su página sea solicitada
- Velocity determinará cuál de las dos posibilidades tiene sentido, y
- luego devolverá el valor apropiado.
+ Tome el primer ejemplo, <em>$cliente.Direccion</em>. Puede tener dos
+ significados. Puede significar, Busque en la tabla de hashing
+ identificada como <em>cliente</em> y devuelva el valor asociado con
+ la llave <em>Direccion</em>. Pero <em>$customer.Address</em> puede
+ también referirse a un método (las referencias que se relacionan con
+ métodos se discutirán en la sección siguiente);
+ <em>$customer.Address</em> puede ser una manera corta de escribir
+ <em>$customer.getAddress()</em>. Cuando su página sea solicitada
+ Velocity determinará cuál de las dos posibilidades tiene sentido, y
+ luego devolverá el valor apropiado.
</p>
<p>
<a name="Métodos"><strong>Methods</strong></a>
<br />
- Un método esta definido dentro del código de Java y es capaz de
- hacer algo útil, como desarrollar un cálculo o llegar a una
- decisión. Los métodos son referencias compuestas de un signo "$"
- inicial seguido en un identificador VTL, seguido de un <em>Cuerpo de
- Método</em> VTL. Un cuerpo de método VTL, a su vez esta formado
- por un identificador VTL seguido por un paréntesis izquierdo ("("),
- seguido, opcionalmente, por una lista de parámetros, para terminar
- en un paréntesis derecho. A continuación hay ejemplos de referencias
- de métodos válidas dentro de VTL:
+ Un método esta definido dentro del código de Java y es capaz de
+ hacer algo útil, como desarrollar un cálculo o llegar a una
+ decisión. Los métodos son referencias compuestas de un signo "$"
+ inicial seguido en un identificador VTL, seguido de un <em>Cuerpo de
+ Método</em> VTL. Un cuerpo de método VTL, a su vez esta formado
+ por un identificador VTL seguido por un paréntesis izquierdo ("("),
+ seguido, opcionalmente, por una lista de parámetros, para terminar
+ en un paréntesis derecho. A continuación hay ejemplos de referencias
+ de métodos válidas dentro de VTL:
</p>
<div align="left">
@@ -866,22 +870,22 @@
</table>
</div>
<p>
- Los primeros dos ejemplos -- <em>$cliente.getDireccion()</em> y
- <em>$compra.getTotal()</em> -- pueden parecer similares a aquellos
- utilizados en la sección de propiedades, <em>$cliente.Direccion</em>
- y <em>$compra.Total</em>. Si usted supuso que estos ejemplos están
- relacionados de alguna manera, usted esta en lo cierto.
- </p>
- <p>
- Las Propiedades VTL pueden utilizarse como notación abreviada para
- los métodos de VTL. La propiedad <em>$cliente.Direccion</em> tiene
- exactamente el mismo efecto que el método
- <em>$cliente.getDireccion()</em> (Nótese el uso de la palabra
- inglesa <em>get</em> en lugar de la castellana <em>obtener</em>).
- Generalmente es preferible utilizar una Propiedad si esta
- disponible. La diferencia principal entre las propiedades y los
- métodos es que usted le puede dar una lista de parámetros a un
- Método.
+ Los primeros dos ejemplos -- <em>$cliente.getDireccion()</em> y
+ <em>$compra.getTotal()</em> -- pueden parecer similares a aquellos
+ utilizados en la sección de propiedades, <em>$cliente.Direccion</em>
+ y <em>$compra.Total</em>. Si usted supuso que estos ejemplos están
+ relacionados de alguna manera, usted esta en lo cierto.
+ </p>
+ <p>
+ Las Propiedades VTL pueden utilizarse como notación abreviada para
+ los métodos de VTL. La propiedad <em>$cliente.Direccion</em> tiene
+ exactamente el mismo efecto que el método
+ <em>$cliente.getDireccion()</em> (Nótese el uso de la palabra
+ inglesa <em>get</em> en lugar de la castellana <em>obtener</em>).
+ Generalmente es preferible utilizar una Propiedad si esta
+ disponible. La diferencia principal entre las propiedades y los
+ métodos es que usted le puede dar una lista de parámetros a un
+ Método.
</p>
<p>
La notación breve se puede utilizar en los Métodos siguientes:
@@ -910,10 +914,10 @@
</table>
</div>
<p>
- Podríamos esperar que estos métodos devolvieran los nombres de los
- planetas que giran alrededor del sol, alimentaran un gusano de
- tierra y extrajeran una foro de un album. Los siguientes Métodos
- solo se pueden referenciar por medio de la notación larga:
+ Podríamos esperar que estos métodos devolvieran los nombres de los
+ planetas que giran alrededor del sol, alimentaran un gusano de
+ tierra y extrajeran una foro de un album. Los siguientes Métodos
+ solo se pueden referenciar por medio de la notación larga:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -945,7 +949,7 @@
</div>
<p>
<a name="Notación Formal de Referencias"><strong>Notación Formal de
- Referncias</strong></a>
+ Referncias</strong></a>
<br />
La notación abreviada para referencias fue utilizada en los ejemplos
anteriores, pero también existe una notación formal para referencias,
@@ -1037,19 +1041,19 @@
</table>
</div>
<p>
- Ahora Velocity save que la referencia es <em>$vicio</em> y no
- <em>$viciomano</em>. La notación formal es útil cuando las
- referencias están ubicadas directamente al lado del texto dentro de
- una plantilla.
+ Ahora Velocity save que la referencia es <em>$vicio</em> y no
+ <em>$viciomano</em>. La notación formal es útil cuando las
+ referencias están ubicadas directamente al lado del texto dentro de
+ una plantilla.
</p>
<p>
<a name="Notación Sileciosa de Referencias"><strong>Notación de Referenias
- Silenciosas</strong></a>
+ Silenciosas</strong></a>
<br />
- Cuando Velocity encuentra una referencia indefinida, su
- comportamiento normal es es de escribir el nombre de la referencia.
- Por ejemplo, suponga que la siguiente referencia aparece como parte
- de una plantilla VTL.
+ Cuando Velocity encuentra una referencia indefinida, su
+ comportamiento normal es es de escribir el nombre de la referencia.
+ Por ejemplo, suponga que la siguiente referencia aparece como parte
+ de una plantilla VTL.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1073,13 +1077,13 @@
</table>
</div>
<p>
- Cuando el formulario se carga por primera vez la referencia
- <em>$correo</em> no tiene valor, pero usted probablemente preferiría
- un texto en blanco a uno con el valor de "$correo". Usando la
- notación de referencias silenciosa se pasa por alto el
- comportamiento normal de Velocity. Para lograr eso en lugar de
- <em>$correo</em> en el VTL usted utilizaría <em>$!correo</em>. Con
- esta modificación el ejemplo anterior quedaría así:
+ Cuando el formulario se carga por primera vez la referencia
+ <em>$correo</em> no tiene valor, pero usted probablemente preferiría
+ un texto en blanco a uno con el valor de "$correo". Usando la
+ notación de referencias silenciosa se pasa por alto el
+ comportamiento normal de Velocity. Para lograr eso en lugar de
+ <em>$correo</em> en el VTL usted utilizaría <em>$!correo</em>. Con
+ esta modificación el ejemplo anterior quedaría así:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1103,12 +1107,12 @@
</table>
</div>
<p>
- Ahora cuando el formulario se carga por primera vez y $correo no
- tenga valor una cadena vacía se escribirá en lugar de "$correo".
+ Ahora cuando el formulario se carga por primera vez y $correo no
+ tenga valor una cadena vacía se escribirá en lugar de "$correo".
</p>
<p>
- La notación formal y la silenciosa se puede usar juntas como se
- muestra en el ejemplo siguiente:
+ La notación formal y la silenciosa se puede usar juntas como se
+ muestra en el ejemplo siguiente:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1153,16 +1157,16 @@
</p>
<p>
<a name="Dinero"><strong>Dinero</strong></a>
- <br />
- No hay ningún problema en escribir "Yo compré un saco de maíz de
- 2 kg. en el mercado de lagranja por sólo $2.50!". Como se mencionó
- anteriormente, un identificador VTL siempre comienza con una letra
- mayúscula o minúscula por lo que $2.50 no se confunde con una
- referencia.
+ <br />
+ No hay ningún problema en escribir "Yo compré un saco de maíz de
+ 2 kg. en el mercado de lagranja por sólo $2.50!". Como se mencionó
+ anteriormente, un identificador VTL siempre comienza con una letra
+ mayúscula o minúscula por lo que $2.50 no se confunde con una
+ referencia.
</p>
<p>
<a name="Escapando Referencias VTL Válidas"><strong>Escapando Referencias
- VTL Válidas</strong></a>
+ VTL Válidas</strong></a>
<br />
Pueden existir casos en donde haya la posibilidad de que Velocity se
confunda. <em>Escapar</em> caracteres especiales es la mejor manera de
@@ -1193,17 +1197,17 @@
</table>
</div>
<p>
- Si Velocity encuentra una referencia en su plantilla VTL a
- <em>$correo</em>, el buscará el contexto ppor un valor
- correspondiente. En este caso el resultado será <em>foo</em> por
- qué <em>$correo</em> esta definido. Si <em>$correo</em> no esta
- definido el resultado será <em>$correo</em>.
+ Si Velocity encuentra una referencia en su plantilla VTL a
+ <em>$correo</em>, el buscará el contexto ppor un valor
+ correspondiente. En este caso el resultado será <em>foo</em> por
+ qué <em>$correo</em> esta definido. Si <em>$correo</em> no esta
+ definido el resultado será <em>$correo</em>.
</p>
<p>
- Suponga que <em>$correo</em> está definido (por ejemplo, que tiene
- el valor <em>foo</em>) y que usted desea escribir <em>$correo</em>.
- Existen varias maneras de hacer esto pero la más sencilla es usar el
- caracter de escape.
+ Suponga que <em>$correo</em> está definido (por ejemplo, que tiene
+ el valor <em>foo</em>) y que usted desea escribir <em>$correo</em>.
+ Existen varias maneras de hacer esto pero la más sencilla es usar el
+ caracter de escape.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1317,10 +1321,10 @@
</table>
</div>
<p>
- Note que Velocity maneja de manera diferentes las referencias que
- están definidas de aquellas que no lo están. A continuación se
- encuentra una directiva que da a <em>$foo</em> el valor
- <em>verde</em>.
+ Note que Velocity maneja de manera diferentes las referencias que
+ están definidas de aquellas que no lo están. A continuación se
+ encuentra una directiva que da a <em>$foo</em> el valor
+ <em>verde</em>.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1350,8 +1354,8 @@
en lugar de <em>$foo</em>
</p>
<p>
- También es posible escapar directivas de VTL; esto se describe con
- más detalle en la sección de Directivas.
+ También es posible escapar directivas de VTL; esto se describe con
+ más detalle en la sección de Directivas.
</p>
</blockquote>
</p>
@@ -1416,24 +1420,24 @@
referencias casi en cualquier lugar de su plantilla.
</p>
<p>
- Velocity, que ha sido modelado con las especificaciones de Bean
- definidas por Sun Microsystems, distingue entre mayúsculas y
- minúsculas; sin embargo sus desarrolladores se han esforzado para
- encontrar y corregir los errores del usuario cuando sea posible.
- Cuando el método <em>getFoo()</em> es referenciado dentro de una
- plantilla como <code>$bar.foo</code>, Velocity intentará primero
- <code>getfoo()</code>. Si esto falla, intentará <code>getFoo()</code>.
- De la misma manera, cuando una plantilla se refiera a
- <code>$bar.Foo</code>, Velocity intentará <em>$getFoo()</em> primero
- y luego <em>getfoo()</em>.
- </p>
- <p>
- Nota: <em>Las Referencias a variables de instancia dentro de una
- plantilla no se resuelven.</em> Solo las referencias a los
- atributos get y set de los JavaBeans se resuelven (i.e.
- <code>$foo.Nombre</code> se resuelve como el método de instancia
- <code>getNombre()</code> de la clase Foo, pero no como su variable
- de instancia <code>Nombre</code>).
+ Velocity, que ha sido modelado con las especificaciones de Bean
+ definidas por Sun Microsystems, distingue entre mayúsculas y
+ minúsculas; sin embargo sus desarrolladores se han esforzado para
+ encontrar y corregir los errores del usuario cuando sea posible.
+ Cuando el método <em>getFoo()</em> es referenciado dentro de una
+ plantilla como <code>$bar.foo</code>, Velocity intentará primero
+ <code>getfoo()</code>. Si esto falla, intentará <code>getFoo()</code>.
+ De la misma manera, cuando una plantilla se refiera a
+ <code>$bar.Foo</code>, Velocity intentará <em>$getFoo()</em> primero
+ y luego <em>getfoo()</em>.
+ </p>
+ <p>
+ Nota: <em>Las Referencias a variables de instancia dentro de una
+ plantilla no se resuelven.</em> Solo las referencias a los
+ atributos get y set de los JavaBeans se resuelven (i.e.
+ <code>$foo.Nombre</code> se resuelve como el método de instancia
+ <code>getNombre()</code> de la clase Foo, pero no como su variable
+ de instancia <code>Nombre</code>).
</p>
</blockquote>
</p>
@@ -1450,12 +1454,12 @@
<p>
<blockquote>
<p>
- Las Referencias le permiten a los diseñadores de plantillas generar
- contenido dinámico para sitios web, mientras que las
- <em>directivas</em> -- elementos de script fáciles de usar que se
- pueden usar para manipular de manera creativa la salida del código
- Java -- les permiten a los diseñadores realmente estar a cargo de la
- apariencia y en contenido del sitio web.
+ Las Referencias le permiten a los diseñadores de plantillas generar
+ contenido dinámico para sitios web, mientras que las
+ <em>directivas</em> -- elementos de script fáciles de usar que se
+ pueden usar para manipular de manera creativa la salida del código
+ Java -- les permiten a los diseñadores realmente estar a cargo de la
+ apariencia y en contenido del sitio web.
</p>
<a name="Set"><strong>#set</strong></a>
<p>
@@ -1487,18 +1491,18 @@
</table>
</div>
<p>
- El lado izquierdo (LI) de la asignación debe ser una referencia de
- variable o una referencia de propiedad. El lado derecho (LD) puede
- ser de alguno de los siguientes tipos:
+ El lado izquierdo (LI) de la asignación debe ser una referencia de
+ variable o una referencia de propiedad. El lado derecho (LD) puede
+ ser de alguno de los siguientes tipos:
</p>
<p>
<ul>
- <li>Referencia de Variable</li>
- <li>Constante de Cadena</li>
- <li>Referencia de Propiedad</li>
- <li>Referencia de Método</li>
+ <li>Referencia de Variable</li>
+ <li>Constante de Cadena</li>
+ <li>Referencia de Propiedad</li>
+ <li>Referencia de Método</li>
<li>Literal Numérico</li>
- <li>Lista de elementos como arreglo</li>
+ <li>Lista de elementos como arreglo</li>
</ul>
</p>
<p>
@@ -1563,11 +1567,11 @@
</table>
</div>
<p>
- Si el Lado Derecho es una propiedad o referencia de método que se
- evalúa como <em>null</em>, <b>no</b> será asignada al lado
- izquierdo. No es posible remover una referencia existente del
- contexto utilizando este mecanismo. Esto puede ser confuso para los
- recién llegados a Velocity. Por ejemplo:
+ Si el Lado Derecho es una propiedad o referencia de método que se
+ evalúa como <em>null</em>, <b>no</b> será asignada al lado
+ izquierdo. No es posible remover una referencia existente del
+ contexto utilizando este mecanismo. Esto puede ser confuso para los
+ recién llegados a Velocity. Por ejemplo:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1595,9 +1599,9 @@
</table>
</div>
<p>
- Si <em>$consulta.criterio("nombre")</em> retorna la cadena "pedro",
- y <em>$consulta.criterio("direccion")</em> retorna <em>null</em>, el
- VTL anterio se mostraría de la siguiente manera:
+ Si <em>$consulta.criterio("nombre")</em> retorna la cadena "pedro",
+ y <em>$consulta.criterio("direccion")</em> retorna <em>null</em>, el
+ VTL anterio se mostraría de la siguiente manera:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1623,10 +1627,10 @@
</table>
</div>
<p>
- Esto tiende a confundir a quines están comenzando, que construyen
- ciclos <em>#foreach</em> que intentan hacer <em>#set</em> de una
- referencia por medio de una propiedad o un método e inmediatamente
- evalúan la referencia con una directiva <em>#if</em>. Por ejemplo:
+ Esto tiende a confundir a quines están comenzando, que construyen
+ ciclos <em>#foreach</em> que intentan hacer <em>#set</em> de una
+ referencia por medio de una propiedad o un método e inmediatamente
+ evalúan la referencia con una directiva <em>#if</em>. Por ejemplo:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1646,7 +1650,7 @@
#set( $resultado = $consulta.criterios($criterio) )
#if( $result )
- La consulta tuvo éxito
+ La consulta tuvo éxito
#end
#end
@@ -1661,18 +1665,18 @@
</table>
</div>
<p>
- En el ejemplo anterior, no sería inteligente confiar en la
- evaluación de <em>$resultado</em> para determinar si una consulta
- tuvo éxito. Después de que <em>$result</em> ha sido agregado al
- contexto (por medio de una directiva <em>#set</em>), no puede volver
- a establecerse a <em>null</em> (quitarse del contexto). Los detalles
- de las directivas <em>#if</em> y <em>#foreach</em> son cubiertos con
- mayor detalle posteriormente en esta guía.
+ En el ejemplo anterior, no sería inteligente confiar en la
+ evaluación de <em>$resultado</em> para determinar si una consulta
+ tuvo éxito. Después de que <em>$result</em> ha sido agregado al
+ contexto (por medio de una directiva <em>#set</em>), no puede volver
+ a establecerse a <em>null</em> (quitarse del contexto). Los detalles
+ de las directivas <em>#if</em> y <em>#foreach</em> son cubiertos con
+ mayor detalle posteriormente en esta guía.
</p>
<p>
- Una solución para este problema puede ser predefinir
- <em>$resultado</em> a <em>false</em>. Luego, si la llamada a
- <em>$consulta.criterios()</em> falla, es posible verificar.
+ Una solución para este problema puede ser predefinir
+ <em>$resultado</em> a <em>false</em>. Luego, si la llamada a
+ <em>$consulta.criterios()</em> falla, es posible verificar.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1693,7 +1697,7 @@
#set( $resultado = $consulta.criterios($criterio) )
#if( $resultado )
- La consulta tuvo éxito
+ La consulta tuvo éxito
#end
#end
@@ -1708,14 +1712,14 @@
</table>
</div>
<p>
- A diferencia de algunas de las otras directivas de Velocity, la
- directiva <em>#set</em> no tiene un enunciado <em>#end</em>.
+ A diferencia de algunas de las otras directivas de Velocity, la
+ directiva <em>#set</em> no tiene un enunciado <em>#end</em>.
</p>
<a name="Cadenas de Caracteres"><strong>Cadenas de Caracteres</strong></a>
<p>
- Cuando se utiliza la directiva <em>#set</em>, los literales de
- cadena que están encerrados en comillas dobles serán evaluados y
- mostrados en la plantilla, como se demuestra a continuación:
+ Cuando se utiliza la directiva <em>#set</em>, los literales de
+ cadena que están encerrados en comillas dobles serán evaluados y
+ mostrados en la plantilla, como se demuestra a continuación:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1766,8 +1770,8 @@
</table>
</div>
<p>
- Sin embargo, cuando la cadena de caracteres esta encerrada en
- comillas sencillas, no será evaluada:
+ Sin embargo, cuando la cadena de caracteres esta encerrada en
+ comillas sencillas, no será evaluada:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1817,10 +1821,10 @@
</table>
</div>
<p>
- Por defecto, la característica de las comillas sencillas para
- mostrar texto sin evaluar esta disponible en Velocity; sin embargo
- este valor por defecto se puede cambiar editando el archivo
- <code>velocity.properties</code> de tal manera que
+ Por defecto, la característica de las comillas sencillas para
+ mostrar texto sin evaluar esta disponible en Velocity; sin embargo
+ este valor por defecto se puede cambiar editando el archivo
+ <code>velocity.properties</code> de tal manera que
<code>stringliterals.interpolate=false</code>.
</p>
</blockquote>
@@ -1839,9 +1843,9 @@
<blockquote>
<strong>Condicionales</strong>
<p>
- La directiva <em>#if</em> en Velocity permite que se incluya texto
- dentro de la plantilla generada, con la condición de que el
- enunciado condicional evalue a verdadero. Por ejemplo:
+ La directiva <em>#if</em> en Velocity permite que se incluya texto
+ dentro de la plantilla generada, con la condición de que el
+ enunciado condicional evalue a verdadero. Por ejemplo:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1867,31 +1871,31 @@
</table>
</div>
<p>
- La variable <em>$foo</em> se evalúa para determinar si es verdadera,
- cosa que ocurrirá bajo una de dos circunstancias: (i) <em>$foo</em>
- es un valor booleano (verdadero ó falso) que tiene un valor de
- verdadero, ó (ii) el valor no es <em>null</em>. Recuerde que el
- contexto de Velocity solamente contiene objetos, por lo que cuando
- se dice 'booleano' se habla en realidad de la clase Boolean. Esto es
- cierto incluso para los métodos que devuelven un valor de tipo
- <code>boolean</code> - la infraestructura de introspección devolverá
- un <code>Boolean</code> del mismo valor lógico.
-</p>
- <p>
- El contenido que se encuentra entre el enunciado <em>#if</em> y el
- enunciado <em>#end</em> es lo que se escribe en la plantilla si la
- evaluación resulta en un valor verdadero. En este caso, si
- <em>$foo</em> es verdadero, la salida será: "Velocity!". De manera
- análoga, si <em>$foo</em> tiene un valor <em>null</em>, o evalua a
- falso, entonces el enunciado completo es falso y no se escribe nada.
-</p>
- <p>
- Un elemento <em>#elseif</em> ó <em>#else</em> puede utilizarse junto
- con una sentencia <em>#if</em> para indicar condiciones adicionales
- o la labor por defecto. Note que el Motor de Plantillas de Velocity
- parará en la primera expresión que evalue a verdadero. En el ejemplo
- siguiente suponga que <em>$foo</em> tiene un valor de 15 y
- <em>$bar</em> tiene un valor de 6.
+ La variable <em>$foo</em> se evalúa para determinar si es verdadera,
+ cosa que ocurrirá bajo una de dos circunstancias: (i) <em>$foo</em>
+ es un valor booleano (verdadero ó falso) que tiene un valor de
+ verdadero, ó (ii) el valor no es <em>null</em>. Recuerde que el
+ contexto de Velocity solamente contiene objetos, por lo que cuando
+ se dice 'booleano' se habla en realidad de la clase Boolean. Esto es
+ cierto incluso para los métodos que devuelven un valor de tipo
+ <code>boolean</code> - la infraestructura de introspección devolverá
+ un <code>Boolean</code> del mismo valor lógico.
+</p>
+ <p>
+ El contenido que se encuentra entre el enunciado <em>#if</em> y el
+ enunciado <em>#end</em> es lo que se escribe en la plantilla si la
+ evaluación resulta en un valor verdadero. En este caso, si
+ <em>$foo</em> es verdadero, la salida será: "Velocity!". De manera
+ análoga, si <em>$foo</em> tiene un valor <em>null</em>, o evalua a
+ falso, entonces el enunciado completo es falso y no se escribe nada.
+</p>
+ <p>
+ Un elemento <em>#elseif</em> ó <em>#else</em> puede utilizarse junto
+ con una sentencia <em>#if</em> para indicar condiciones adicionales
+ o la labor por defecto. Note que el Motor de Plantillas de Velocity
+ parará en la primera expresión que evalue a verdadero. En el ejemplo
+ siguiente suponga que <em>$foo</em> tiene un valor de 15 y
+ <em>$bar</em> tiene un valor de 6.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1904,11 +1908,11 @@
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
#if( $foo < 10 )
- <strong>Vaya hacía el Norte</strong>
+ <strong>Vaya hacía el Norte</strong>
#elseif( $foo == 10 )
<strong>Vaya hacía el Este</strong>
#elseif( $bar == 6 )
- <strong>Vaya al Sur</strong>
+ <strong>Vaya al Sur</strong>
#else
<strong>Vaya al Oeste</strong>
#end
@@ -1923,25 +1927,25 @@
</table>
</div>
<p>En este ejemplo, <em>$foo</em> es mayor que diez, por lo que las
- dos primeras comparaciones fallan. A continuación se compara
- <em>$bar</em> con 6, como son iguales, la salida es <strong>Vaya al
- Sur</strong>
+ dos primeras comparaciones fallan. A continuación se compara
+ <em>$bar</em> con 6, como son iguales, la salida es <strong>Vaya al
+ Sur</strong>
</p>
<p>
- Actualmente las comparaciones numéricas de Velocity están
- restringidas a los elementos de la clase Integer - cualquier otra
- cosa evaluará a <em>falso</em>. La única excepción a esta regla es
- la igualdad, '==', donde Velocity exige que los objetos a cada lado
- del '==' sean de la <em>misma</em> clase.
+ Actualmente las comparaciones numéricas de Velocity están
+ restringidas a los elementos de la clase Integer - cualquier otra
+ cosa evaluará a <em>falso</em>. La única excepción a esta regla es
+ la igualdad, '==', donde Velocity exige que los objetos a cada lado
+ del '==' sean de la <em>misma</em> clase.
</p>
<p>
- <a name="Operadores Lógicos y Relacionales"><strong>Operadores
- Lógicos y Relacionales</strong></a>
+ <a name="Operadores Lógicos y Relacionales"><strong>Operadores
+ Lógicos y Relacionales</strong></a>
</p>
<p>
- Velocity usa el operador de equivalencia para determinar las
- relaciones entre las variables. A continuación hay un ejemplo
- sencillo para ilustrar como se utiliza el operador de igualdad.
+ Velocity usa el operador de equivalencia para determinar las
+ relaciones entre las variables. A continuación hay un ejemplo
+ sencillo para ilustrar como se utiliza el operador de igualdad.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1957,10 +1961,10 @@
#set ($bar = "ácido ribonucleico")
#if ($foo == $bar)
- En este caso es claro que no son equivalentes por lo que....
+ En este caso es claro que no son equivalentes por lo que....
In this case it's clear they aren't equivalent. So...
#else
- No son equivalentes y esta será la salida.
+ No son equivalentes y esta será la salida.
#end
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
@@ -1973,10 +1977,10 @@
</table>
</div>
<p>
- Velocity tiene también operadores lógicos para el Y, el O y el NO
- (AND, OR y NOT). Para mayor información vea la <a href="vtl-reference-guide.html">Guía de Referencia VTL</a>.
- A continuación se encuentran ejemplos que demuestran la utilización
- de los operadores lógicos AND, OR y NOT.
+ Velocity tiene también operadores lógicos para el Y, el O y el NO
+ (AND, OR y NOT). Para mayor información vea la <a href="vtl-reference-guide.html">Guía de Referencia VTL</a>.
+ A continuación se encuentran ejemplos que demuestran la utilización
+ de los operadores lógicos AND, OR y NOT.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -1992,7 +1996,7 @@
## Y lógico
#if( $foo && $bar )
- <strong>Esto Y aquello</strong>
+ <strong>Esto Y aquello</strong>
#end
</pre></td>
@@ -2006,19 +2010,19 @@
</table>
</div>
<p>
- La directiva <em>#if()</em> solamente evaluará a verdadero si tanto
- <em>$foo</em> como <em>$bar</em> son ciertos. Si <em>$foo</em> es
- falso la expresión evaluará a falso; <em>$bar</em> no será evaluada.
- Si <em>$foo</em> es verdadero el Motor de Plantillas de Velocity
- verificará el valor de <em>$bar</em>; si <em>$bar</em> es cierto,
- entonces toda la expresión es cierto y la salida es <strong>Esto Y
- aquello</strong>. Si <em>$bar</em> es falso, entonces no habrá
- ninguna salida porque toda la expresión es falsa.
+ La directiva <em>#if()</em> solamente evaluará a verdadero si tanto
+ <em>$foo</em> como <em>$bar</em> son ciertos. Si <em>$foo</em> es
+ falso la expresión evaluará a falso; <em>$bar</em> no será evaluada.
+ Si <em>$foo</em> es verdadero el Motor de Plantillas de Velocity
+ verificará el valor de <em>$bar</em>; si <em>$bar</em> es cierto,
+ entonces toda la expresión es cierto y la salida es <strong>Esto Y
+ aquello</strong>. Si <em>$bar</em> es falso, entonces no habrá
+ ninguna salida porque toda la expresión es falsa.
</p>
<p>
- El O lógico trabaja de la misma manera, pero sólo una de las
- referencias debe evaluar a verdadero para que toda la expresión
- evalue a verdadero. Considere el ejemplo siguiente.
+ El O lógico trabaja de la misma manera, pero sólo una de las
+ referencias debe evaluar a verdadero para que toda la expresión
+ evalue a verdadero. Considere el ejemplo siguiente.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2047,18 +2051,18 @@
</table>
</div>
<p>
- Si <em>$foo</em> es verdadero, el Motor de Plantillas de Velocity no
- necesita consultar <em>$bar,</em>; sin importar si <em>$bar</em> es
- cierto o falso, la expresión será cierta, y <strong>Esto O
- Aquello</strong> será la salida. Si <em>$foo</em> es falso, en
- cambio, es necesario verificar <em>$bar</em>. En este caso, si
- <em>$bar</em> es falso, entonces la expresión es falsa y no se
- escribe nada. De otro lado, si <em>$bar</em> es verdadero, entonces
- toda la expresión es verdadera y el resultado es <strong>Esto O
- Aquello</strong>
+ Si <em>$foo</em> es verdadero, el Motor de Plantillas de Velocity no
+ necesita consultar <em>$bar,</em>; sin importar si <em>$bar</em> es
+ cierto o falso, la expresión será cierta, y <strong>Esto O
+ Aquello</strong> será la salida. Si <em>$foo</em> es falso, en
+ cambio, es necesario verificar <em>$bar</em>. En este caso, si
+ <em>$bar</em> es falso, entonces la expresión es falsa y no se
+ escribe nada. De otro lado, si <em>$bar</em> es verdadero, entonces
+ toda la expresión es verdadera y el resultado es <strong>Esto O
+ Aquello</strong>
</p>
<p>
- Con el operador lógico NO, solo hay un argumento :
+ Con el operador lógico NO, solo hay un argumento :
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2088,12 +2092,12 @@
</table>
</div>
<p>
- Aquí si <em>$foo</em> es cierto, entonces <em>!$foo</em> es falso, y
- no se escribe nada. Por el contrario, si <em>$foo</em> es falso,
- entonces <em>!$foo</em> será verdadero y <strong>eso NO</strong>
- será escrito. Tenga cuidado de no confundir este operador con la
- <em>referencia sileciosa $!foo</em>, que es algo completamente
- distinto.
+ Aquí si <em>$foo</em> es cierto, entonces <em>!$foo</em> es falso, y
+ no se escribe nada. Por el contrario, si <em>$foo</em> es falso,
+ entonces <em>!$foo</em> será verdadero y <strong>eso NO</strong>
+ será escrito. Tenga cuidado de no confundir este operador con la
+ <em>referencia sileciosa $!foo</em>, que es algo completamente
+ distinto.
</p>
</blockquote>
</p>
@@ -2111,8 +2115,8 @@
<blockquote>
<strong>Ciclo Foreach</strong>
<p>
- El elemento <em>#foreach</em> permite la construcción de ciclos. Por
- ejemplo:
+ El elemento <em>#foreach</em> permite la construcción de ciclos. Por
+ ejemplo:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2140,25 +2144,25 @@
</table>
</div>
<p>
- Este cilco <em>#foreach</em> hace que el objeto correspondiente a la
- lista de $todosProductos sea iterado buscando todos los productos de
- la lista. En cada iteración del ciclo, el valor de
- <em>$todosProductos</em> se asigna a la variable <em>$producto</em>.
- </p>
- <p>
- El contenido de la variable <em>$todosProductos</em> es un Vector,
- una tabla de Hashing (Hashtable) o un arreglo (Array). El valor
- asignado a la variable <em>$producto</em> es un objeto Java y se
- puede referenciar desde una variabkle como tal. Por ejemplo, si
- <em>$product</em> fuera realmente un elemento de la clase Producto
- en Java, su nombre se podría obtener referenciando el método
- <em>$producto.Nombre</em> (ie: <em>$Product.getName()</em>).
- </p>
- <p>
- Ahora supongamos que <em>$todosProductos</em> es una tabla de
- Hashing. Si usted quisiera recuperar los valores de las llaves de la
- tabla de Hashing, al igual que los objetos dentro de esta, usted
- podría utilizar código como el siguiente:
+ Este cilco <em>#foreach</em> hace que el objeto correspondiente a la
+ lista de $todosProductos sea iterado buscando todos los productos de
+ la lista. En cada iteración del ciclo, el valor de
+ <em>$todosProductos</em> se asigna a la variable <em>$producto</em>.
+ </p>
+ <p>
+ El contenido de la variable <em>$todosProductos</em> es un Vector,
+ una tabla de Hashing (Hashtable) o un arreglo (Array). El valor
+ asignado a la variable <em>$producto</em> es un objeto Java y se
+ puede referenciar desde una variabkle como tal. Por ejemplo, si
+ <em>$product</em> fuera realmente un elemento de la clase Producto
+ en Java, su nombre se podría obtener referenciando el método
+ <em>$producto.Nombre</em> (ie: <em>$Product.getName()</em>).
+ </p>
+ <p>
+ Ahora supongamos que <em>$todosProductos</em> es una tabla de
+ Hashing. Si usted quisiera recuperar los valores de las llaves de la
+ tabla de Hashing, al igual que los objetos dentro de esta, usted
+ podría utilizar código como el siguiente:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2171,8 +2175,8 @@
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
<ul>
- #foreach( $llave in $todosProductos.keySet() )
- <li>Llave: $llave -> Valor: $todosProductos.get($llave)</li>
+ #foreach( $llave in $todosProductos.keySet() )
+ <li>Llave: $llave -> Valor: $todosProductos.get($llave)</li>
#end
</ul>
</pre></td>
@@ -2186,8 +2190,8 @@
</table>
</div>
<p>
- Velocity proporciona una manera sencilla de obtener el contador del
- ciclo para que usted pueda hacer algo como lo siguiente:
+ Velocity proporciona una manera sencilla de obtener el contador del
+ ciclo para que usted pueda hacer algo como lo siguiente:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2200,7 +2204,7 @@
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
<table>
- #foreach( $cliente in $listaClientes )
+ #foreach( $cliente in $listaClientes )
<tr><td>$velocityCount</td><td>$cliente.Nombre</td></tr>
#end
</table>
@@ -2215,14 +2219,14 @@
</table>
</div>
<p>
- El nombre por defecto para la referencia de la variable contador del
- ciclo, que se especifica en el archivo
- <code>velocity.properties</code>, es
- $velocityCount. Por defecto el contador comienza en 1, pero esto se
- puede hacer 0 o 1 en el archivo <code>velocity.properties</code>. A
- continuación se muestra el fragmento de este archivo que corresponde
- al contador de ciclo (en inglés, tal como aparece en el archivo
- original):
+ El nombre por defecto para la referencia de la variable contador del
+ ciclo, que se especifica en el archivo
+ <code>velocity.properties</code>, es
+ $velocityCount. Por defecto el contador comienza en 1, pero esto se
+ puede hacer 0 o 1 en el archivo <code>velocity.properties</code>. A
+ continuación se muestra el fragmento de este archivo que corresponde
+ al contador de ciclo (en inglés, tal como aparece en el archivo
+ original):
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2266,14 +2270,14 @@
<p>
<blockquote>
<p>
- El elemento de script <em>#include</em> le permite al diseñador de
- plantillas importar un archivo local, que después es insertado en la
- localización donde se encuentra la sentencia <em>#include</em>. Los
- contenidos del archivo no se muestran por intermedio del motor de
- plantillas por lo que si se hacen referencias dentro del archivo,
- estas no serán reemplazadas. Por motivos de seguridad el archivo que
- va a ser incluido debe encontrarse en el directorio indicado por la
- propiedad TEMPLATE_ROOT.
+ El elemento de script <em>#include</em> le permite al diseñador de
+ plantillas importar un archivo local, que después es insertado en la
+ localización donde se encuentra la sentencia <em>#include</em>. Los
+ contenidos del archivo no se muestran por intermedio del motor de
+ plantillas por lo que si se hacen referencias dentro del archivo,
+ estas no serán reemplazadas. Por motivos de seguridad el archivo que
+ va a ser incluido debe encontrarse en el directorio indicado por la
+ propiedad TEMPLATE_ROOT.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2297,9 +2301,9 @@
</table>
</div>
<p>
- El archivo al que se refiere la directiva <em>#include</em> se
- encierra entre comillas. Si mas de un archivo será incluido, los
- nombres de los archivos a incluir deben ir separados por comas.
+ El archivo al que se refiere la directiva <em>#include</em> se
+ encierra entre comillas. Si mas de un archivo será incluido, los
+ nombres de los archivos a incluir deben ir separados por comas.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2323,14 +2327,14 @@
</table>
</div>
<p>
- El archivo a incluir no tiene que ser referenciado por nombre, de
- hecho, muchas veces es preferible usar una variable, en lugar de un
- nombre de archivo. Esto puede ser útil para dirigir la salida de
- acuerdo a criterios determinados cuando la solicitud de la página es
- enviada, es decir, que dependa de factores como los datos del
- usuario que visita la página, el momento del día, etc. A
- continuación se muestra un ejemplo en el que se usan tanto un nombre
- como una variable.
+ El archivo a incluir no tiene que ser referenciado por nombre, de
+ hecho, muchas veces es preferible usar una variable, en lugar de un
+ nombre de archivo. Esto puede ser útil para dirigir la salida de
+ acuerdo a criterios determinados cuando la solicitud de la página es
+ enviada, es decir, que dependa de factores como los datos del
+ usuario que visita la página, el momento del día, etc. A
+ continuación se muestra un ejemplo en el que se usan tanto un nombre
+ como una variable.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2368,9 +2372,9 @@
<p>
<blockquote>
<p>
- El elemento de script <em>#parse</em> le permite al diseñadore de
- plantillas importar un archivo local que contiene VTL. Velocity
- procesará el VTL y mostrará la plantilla especificada.
+ El elemento de script <em>#parse</em> le permite al diseñadore de
+ plantillas importar un archivo local que contiene VTL. Velocity
+ procesará el VTL y mostrará la plantilla especificada.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2394,24 +2398,24 @@
</table>
</div>
<p>
- Al igual que la directiva <em>#include</em>, <em>#parse</em> puede
- utilizar una variable, en lugar de una plantilla. Todas las
- plantillas a las que <em>#parse</em> se refiera deben incluirse bajo
- TEMPLATE_ROOT. A diferencia de la directva <em>#include</em>,
- <em>#parse</em> solo recibe un argumento.
-</p>
- <p>
- Las plantillas de VTL puede tener sentencias <em>#parse</em> que se
- refieran a plantillas que a su vez tengan sentencias
- <em>#parse</em>. La línea <em>parse_directive.maxdepth</em> del
- archivo <code>velocity.properties</code>, cuyo valor por defecto es
- 10, permite a los usuarios configurar el máximo número de
- referencias a <em>#parse</em> que pueden ocurrir desde una única
- plantilla. (Nota: Si la propiedad <em>parse_directive.maxdepth</em>
- no esta dentro del archivo <code>velocity.properties</code>,
- Velocity establecerá el valor por defecto en 10.) La recursión esta
- permitida, por ejemplo, si la plantilla <code>hacerfoo.vm</code>
- contiene las siguientes líneas:
+ Al igual que la directiva <em>#include</em>, <em>#parse</em> puede
+ utilizar una variable, en lugar de una plantilla. Todas las
+ plantillas a las que <em>#parse</em> se refiera deben incluirse bajo
+ TEMPLATE_ROOT. A diferencia de la directva <em>#include</em>,
+ <em>#parse</em> solo recibe un argumento.
+</p>
+ <p>
+ Las plantillas de VTL puede tener sentencias <em>#parse</em> que se
+ refieran a plantillas que a su vez tengan sentencias
+ <em>#parse</em>. La línea <em>parse_directive.maxdepth</em> del
+ archivo <code>velocity.properties</code>, cuyo valor por defecto es
+ 10, permite a los usuarios configurar el máximo número de
+ referencias a <em>#parse</em> que pueden ocurrir desde una única
+ plantilla. (Nota: Si la propiedad <em>parse_directive.maxdepth</em>
+ no esta dentro del archivo <code>velocity.properties</code>,
+ Velocity establecerá el valor por defecto en 10.) La recursión esta
+ permitida, por ejemplo, si la plantilla <code>hacerfoo.vm</code>
+ contiene las siguientes líneas:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2438,8 +2442,8 @@
</table>
</div>
<p>
- Hay una referencia a la plantilla <code>parsefoo.vm</code>, que
- contiene el siguiente código VTL:
+ Hay una referencia a la plantilla <code>parsefoo.vm</code>, que
+ contiene el siguiente código VTL:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2469,11 +2473,11 @@
</table>
</div>
<p>
- Después de que se muestra "Cuenta Regresiva.", Velocity pasa por
- <code>parsefoo.vm</code>, contando hacía abajo desde 8. Cuando el
- conteo llegue a 0, mostrará el mensaje "Listo parsefoo.vm!". En este
- punto Velocity volverá a <code>dofoo.vm</code> y escribirá el
- mensaje "Listo hacerfoo.vm!".
+ Después de que se muestra "Cuenta Regresiva.", Velocity pasa por
+ <code>parsefoo.vm</code>, contando hacía abajo desde 8. Cuando el
+ conteo llegue a 0, mostrará el mensaje "Listo parsefoo.vm!". En este
+ punto Velocity volverá a <code>dofoo.vm</code> y escribirá el
+ mensaje "Listo hacerfoo.vm!".
</p>
</blockquote>
</p>
@@ -2530,13 +2534,13 @@
<p>
<blockquote>
<p>
- El elemento de script <em>#macro</em> script permite definir un
- segmento de plantilla VTL repetitivo. Los Velocimacros son muy
- útiles en una amplia gama se situaciones, tanto simples como
- complejas. El siguiente Velocimacro, creado con el único propósito
- de ahorrar tecleo y minimizar errores tipográficos, provee una
- introducción al concepto de Velocimacros
- element allows template designers to.
+ El elemento de script <em>#macro</em> script permite definir un
+ segmento de plantilla VTL repetitivo. Los Velocimacros son muy
+ útiles en una amplia gama se situaciones, tanto simples como
+ complejas. El siguiente Velocimacro, creado con el único propósito
+ de ahorrar tecleo y minimizar errores tipográficos, provee una
+ introducción al concepto de Velocimacros
+ element allows template designers to.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2562,8 +2566,8 @@
</table>
</div>
<p>
- El Velocimacro que se define en este ejemplo es <em>d</em>, y se
- puede llamar de manera similar a cualquier otra directiva VTL:
+ El Velocimacro que se define en este ejemplo es <em>d</em>, y se
+ puede llamar de manera similar a cualquier otra directiva VTL:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2649,7 +2653,7 @@
#set( $grandeslagos = ["Superior","Michigan","Huron","Erie","Ontario"] )
#set( $color = "blue" )
<table>
- #filastabla( $color $grandeslagos )
+ #filastabla( $color $grandeslagos )
</table>
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
@@ -2662,9 +2666,9 @@
</table>
</div>
<p>
- Note que <em>$grandeslagos</em> toma el lugar de
- <em>$algunalista</em>. Cuando el Velocimacro es llamado en esta
- situación, la siguiente salida es generada:
+ Note que <em>$grandeslagos</em> toma el lugar de
+ <em>$algunalista</em>. Cuando el Velocimacro es llamado en esta
+ situación, la siguiente salida es generada:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2724,7 +2728,7 @@
#set( $partes = ["raíz","tallo","hojas","flores","frutos"] )
#set( $colorCelda = "#CC00FF" )
<table>
- #filastabla( $colorCelda $parts )
+ #filastabla( $colorCelda $parts )
</table>
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
@@ -2776,34 +2780,34 @@
</p>
<ul>
<li>
- Referencia : cualquier cosa que comience con '$'
+ Referencia : cualquier cosa que comience con '$'
</li>
<li>
- Cadena de caracteres : algo como "$foo" u 'hola'
+ Cadena de caracteres : algo como "$foo" u 'hola'
</li>
<li>
Número : 1, 2 etc
</li>
<li>
- Rango de enteros : [ 1..2] ó [$foo .. $bar]
+ Rango de enteros : [ 1..2] ó [$foo .. $bar]
</li>
<li>
- ObjectArray : [ "a", "b", "c"]
+ ObjectArray : [ "a", "b", "c"]
</li>
<li>
El valor booleano "verdadero"
</li>
- <li>
- El valor booleano "falso"
+ <li>
+ El valor booleano "falso"
</li>
</ul>
<p>
- Cuando pase referencias como argumentos para los Velocimacros tenga
- en cuenta que las referencias se pasan 'por nombre'. Esto quiere
- decir que su valor es 'generado' cada vez que se usa dentro del
- Velocimacros. Esta característica le permite pasar referencias con
- las llamadas de método y hacer que el método se llame cada vez. Por
- ejemplo, cuando llame el siguiente Velocimacro
+ Cuando pase referencias como argumentos para los Velocimacros tenga
+ en cuenta que las referencias se pasan 'por nombre'. Esto quiere
+ decir que su valor es 'generado' cada vez que se usa dentro del
+ Velocimacros. Esta característica le permite pasar referencias con
+ las llamadas de método y hacer que el método se llame cada vez. Por
+ ejemplo, cuando llame el siguiente Velocimacro
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2831,21 +2835,21 @@
</table>
</div>
<p>
- Esa llamada hace que el método bar() de la referencia $foo sea
- llamado 3 veces.
+ Esa llamada hace que el método bar() de la referencia $foo sea
+ llamado 3 veces.
</p>
<p>
- A primera vista, esta característica parece sorprendente, pero
- cuando se tiene en cuenta la motivación original de los Velocimacros
- -- eliminar la duplicación de "copiar y pegar" del VTL usado varias
- veces -- tiene mucho sentido. Permite pasar al Velocimacro objetos
- con estado, como un objeto que genera colores en una secuencia
- repetitiva para colorear las filas de una tabla.
+ A primera vista, esta característica parece sorprendente, pero
+ cuando se tiene en cuenta la motivación original de los Velocimacros
+ -- eliminar la duplicación de "copiar y pegar" del VTL usado varias
+ veces -- tiene mucho sentido. Permite pasar al Velocimacro objetos
+ con estado, como un objeto que genera colores en una secuencia
+ repetitiva para colorear las filas de una tabla.
</p>
<p>
- Si usted no desea utilizar esta característica siempre es posible
- simplemente obtener el valor del método como una nueva referencia y
- pasar ese valor:
+ Si usted no desea utilizar esta característica siempre es posible
+ simplemente obtener el valor del método como una nueva referencia y
+ pasar ese valor:
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -2857,8 +2861,8 @@
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
- #set( $mivalor = $foo.bar() )
- #llamame( $mivalor )
+ #set( $mivalor = $foo.bar() )
+ #llamame( $mivalor )
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
@@ -2883,76 +2887,76 @@
localizar las librerías.
</p>
<p>
- <code>velocimacro.permissions.allow.inline</code> - Esta propiedad,
- que tiene como valores posibles verdadero y falso (true y false),
- determina si los Velocimacros pueden ser definidos dentro de las
- plantillas normales.
- El valor por defecto, verdadero, le permite a los diseñadores
- definir por si mismos macros en las plantillas.
+ <code>velocimacro.permissions.allow.inline</code> - Esta propiedad,
+ que tiene como valores posibles verdadero y falso (true y false),
+ determina si los Velocimacros pueden ser definidos dentro de las
+ plantillas normales.
+ El valor por defecto, verdadero, le permite a los diseñadores
+ definir por si mismos macros en las plantillas.
</p>
<p>
<code>velocimacro.permissions.allow.inline.to.replace.global</code> -
- Con valores posibles verdadero y falso (true y false), esta
- propiedad le permite al usuario decidir si un Velocimacro definido
- inline dentro de una plantilla puede reemplazar a la plantilla
- global, que fue cargada al comienzo por medio de la propiedad
- <code>velocimacro.library</code>. El valor por defecto, falso
- (<code>false</code>), evita que los Velocimacros definidos en una
- plantilla reemplacen a los que fueron cargados al inicio.
+ Con valores posibles verdadero y falso (true y false), esta
+ propiedad le permite al usuario decidir si un Velocimacro definido
+ inline dentro de una plantilla puede reemplazar a la plantilla
+ global, que fue cargada al comienzo por medio de la propiedad
+ <code>velocimacro.library</code>. El valor por defecto, falso
+ (<code>false</code>), evita que los Velocimacros definidos en una
+ plantilla reemplacen a los que fueron cargados al inicio.
</p>
<p>
<code>velocimacro.permissions.allow.inline.local.scope</code> -
- Con valores posibles verdadero y falso (true y false), valor por
- defecto falso, esta propiedad dice si los Velocimacros definidos
- inline son 'visibles' únicamente para la plantilla que los define.
- Usted puede usar esta característica para hacer algunos trucos de
- VM - si un VM global llama a otro VM global, con ancance inline, una
- plantilla puede definir una implementación privada del segundo VM,
- que será llamada por el primer VM cuando sea invocado en esa
- plantilla. Ninguna de las otras templates es afectada.
- </p>
- <p>
- <code>velocimacro.context.localscope</code> -
- Con valores posibles verdadero y falso (true y false), valor por
- defecto falso. Cuando es verdadera cualquier modificación al
- contexto por medio de un #set() dentro de un Velocimacro se
- considera local a ese Velocimacro y no afecta permanentemente al
- contexto.
- </p>
- <p>
- <code>velocimacro.library.autoreload</code> - Esta propiedad
- controla el cargado automático de la libreria de Velocimacros. El
- valor por defecto es <code>false</code>. Cuando es verdadero
- (<code>true</code>) la librería fuente de un Velocimacro que ha sido
- invocado será verificada para comprobar que no haya cambiado, y si
- lo ha hecho será recargada. Esta característica le permite cambiar y
- probar librerías de macros sin necesidad de reiniciar la aplicación
- o el contenedor de servlets, de la misma manera que se hace con
- plantillas normales.
- Este modo solo funciona cuando el caché esta <i>apagado</i>
- en los cargadores de recursos( e.g. <code>file.resource.loader.cache
- = false</code>).
- Esta característica esta pensada para el proceso de desarrollo, no
- el de producción.
- This property
+ Con valores posibles verdadero y falso (true y false), valor por
+ defecto falso, esta propiedad dice si los Velocimacros definidos
+ inline son 'visibles' únicamente para la plantilla que los define.
+ Usted puede usar esta característica para hacer algunos trucos de
+ VM - si un VM global llama a otro VM global, con ancance inline, una
+ plantilla puede definir una implementación privada del segundo VM,
+ que será llamada por el primer VM cuando sea invocado en esa
+ plantilla. Ninguna de las otras templates es afectada.
+ </p>
+ <p>
+ <code>velocimacro.context.localscope</code> -
+ Con valores posibles verdadero y falso (true y false), valor por
+ defecto falso. Cuando es verdadera cualquier modificación al
+ contexto por medio de un #set() dentro de un Velocimacro se
+ considera local a ese Velocimacro y no afecta permanentemente al
+ contexto.
+ </p>
+ <p>
+ <code>velocimacro.library.autoreload</code> - Esta propiedad
+ controla el cargado automático de la libreria de Velocimacros. El
+ valor por defecto es <code>false</code>. Cuando es verdadero
+ (<code>true</code>) la librería fuente de un Velocimacro que ha sido
+ invocado será verificada para comprobar que no haya cambiado, y si
+ lo ha hecho será recargada. Esta característica le permite cambiar y
+ probar librerías de macros sin necesidad de reiniciar la aplicación
+ o el contenedor de servlets, de la misma manera que se hace con
+ plantillas normales.
+ Este modo solo funciona cuando el caché esta <i>apagado</i>
+ en los cargadores de recursos( e.g. <code>file.resource.loader.cache
+ = false</code>).
+ Esta característica esta pensada para el proceso de desarrollo, no
+ el de producción.
+ This property
</p>
<strong>Cosas y Casos de Velocimacros</strong>
<p>
- Actualmente los Velocimacros deben ser definidos antes de ser
- utilizados por primera vez dentro de una plantilla. Esto significa
- que sus declaraciones de #macro() deben aparecerantes de que usted
- utilice los Velocimacros.
+ Actualmente los Velocimacros deben ser definidos antes de ser
+ utilizados por primera vez dentro de una plantilla. Esto significa
+ que sus declaraciones de #macro() deben aparecerantes de que usted
+ utilice los Velocimacros.
</p>
<p>
- Esto es importante recordarlo cuando usted intenta hacerle #parse()
- a una plantilla que contiene directivas #macro(). Como el #parse()
- ocurre en tiempo de ejecución, y el parser decide si un elemento que
- parece una VM es realmente un VM cuando esta haciendo el #parse(),
- entonces probablemente el #parse() de un conjunto de declaraciones
- no funciona como se esperaría. Para evitar este problema,
- simplemente utilice la propiedad
- <code>velocimacro.library</code>para cargar todos sus VM cuando se
- inicie la aplicación.
+ Esto es importante recordarlo cuando usted intenta hacerle #parse()
+ a una plantilla que contiene directivas #macro(). Como el #parse()
+ ocurre en tiempo de ejecución, y el parser decide si un elemento que
+ parece una VM es realmente un VM cuando esta haciendo el #parse(),
+ entonces probablemente el #parse() de un conjunto de declaraciones
+ no funciona como se esperaría. Para evitar este problema,
+ simplemente utilice la propiedad
+ <code>velocimacro.library</code>para cargar todos sus VM cuando se
+ inicie la aplicación.
</p>
</blockquote>
</p>
@@ -3344,7 +3348,7 @@
Enviame
#set($foo = ["$10 y ","un pastel"])
#foreach ($a in $foo )$a
- #end por favor.
+ #end por favor.
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
@@ -3773,7 +3777,7 @@
</div>
<p>
Tenga en cuenta que en segundo ejemplo el argumentos es evaluado <i>
- dentro</i> de la VM, no a nivel del llamador. En otras palabras, el
+ dentro</i> de la VM, no a nivel del llamador. En otras palabras, el
argumento para el VM es pasado completo y evaluado dentro del VM al que
se le pasa. Esto le permite hacer cosas como :
</p>
@@ -3905,20 +3909,20 @@
Velocimacros.
</p>
<p>
- Esto es importante recordarlo cuando usted intenta hacerle #parse()
- a una plantilla que contiene directivas #macro(). Como el #parse()
- ocurre en tiempo de ejecución, y el parser decide si un elemento que
- parece una VM es realmente un VM cuando esta haciendo el #parse(),
- entonces probablemente el #parse() de un conjunto de declaraciones
- no funciona como se esperaría. Para evitar este problema,
- simplemente utilice la propiedad
- <code>velocimacro.library</code>para cargar todos sus VM cuando se
- inicie la aplicación.
+ Esto es importante recordarlo cuando usted intenta hacerle #parse()
+ a una plantilla que contiene directivas #macro(). Como el #parse()
+ ocurre en tiempo de ejecución, y el parser decide si un elemento que
+ parece una VM es realmente un VM cuando esta haciendo el #parse(),
+ entonces probablemente el #parse() de un conjunto de declaraciones
+ no funciona como se esperaría. Para evitar este problema,
+ simplemente utilice la propiedad
+ <code>velocimacro.library</code>para cargar todos sus VM cuando se
+ inicie la aplicación.
</p>
<strong>¿Qué es la auto recarga de Velocimacros?</strong>
<p>
- Existe una propiedad, pensada para usarse en <i>desarrollo</i>, no
- en producción :
+ Existe una propiedad, pensada para usarse en <i>desarrollo</i>, no
+ en producción :
</p>
<p>
<code>velocimacro.library.autoreload</code>
@@ -3934,8 +3938,8 @@
Velocimacros se recarguen.
</p>
<p>
- A continuación se muestra un conjunto sencillo de propiedades de
- configuración.
+ A continuación se muestra un conjunto sencillo de propiedades de
+ configuración.
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -3975,8 +3979,8 @@
<blockquote>
<p>
Una pregunta común que los desarrolladores formulan es <i>¿Cómo
- concateno cadenas de caracteres? ¿Existe algún análogo al operador
- '+' en Java?</i>
+ concateno cadenas de caracteres? ¿Existe algún análogo al operador
+ '+' en Java?</i>
</p>
<p>
Para concatenar referencias en VTL usted solo tiene que 'ponerlos
@@ -4013,9 +4017,9 @@
</table>
</div>
<p>
- y la salida será 'El reloj es BigBen'. Para caso más interesantes,
- como cuando ested desea concatenar las cadenas que pasará a un
- método, o establecer el valor de una nueva referencia use
+ y la salida será 'El reloj es BigBen'. Para caso más interesantes,
+ como cuando ested desea concatenar las cadenas que pasará a un
+ método, o establecer el valor de una nueva referencia use
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -4030,9 +4034,9 @@
#set( $tam = "Big" )
#set( $nombre = "Ben" )
- #set($reloj = "$tam$nombre" )
+ #set($reloj = "$tam$nombre" )
- El reloj es $reloj.
+ El reloj es $reloj.
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
@@ -4044,9 +4048,9 @@
</table>
</div>
<p>
- Que resultará en la mismo que el ejemplo anterior. Como un ejemplo
- final, cuando usted desea mezclar cadenas 'estáticas' con sus
- referencias usted puede necesitar 'referencias formales':
+ Que resultará en la mismo que el ejemplo anterior. Como un ejemplo
+ final, cuando usted desea mezclar cadenas 'estáticas' con sus
+ referencias usted puede necesitar 'referencias formales':
</p>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
@@ -4058,12 +4062,12 @@
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
- #set( $tam = "Big" )
+ #set( $tam = "Big" )
#set( $nombre = "Ben" )
- #set($reloj = "${tam}Alto$nombre" )
+ #set($reloj = "${tam}Alto$nombre" )
- El reloj es $reloj.
+ El reloj es $reloj.
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
@@ -4075,10 +4079,10 @@
</table>
</div>
<p>
- Ahora el resultado es 'El reloj es BigAltoBen'. La notación formal
- es necesaria para que el procesador de las plantillas sepa que usted
- quiso usar la referencia '$tam', en lugar de '$tamAlto', que sería
- lo que entendería si los corchetes '{}' no estuvieran presentes.
+ Ahora el resultado es 'El reloj es BigAltoBen'. La notación formal
+ es necesaria para que el procesador de las plantillas sepa que usted
+ quiso usar la referencia '$tam', en lugar de '$tamAlto', que sería
+ lo que entendería si los corchetes '{}' no estuvieran presentes.
</p>
</blockquote>
</td></tr>
@@ -4102,7 +4106,7 @@
Si encuentra algún error en este manual o tiene algún otro comentario o
retroalimentación relacionada con la guía del usuario de Velocity, por
favor envie un correo a <a href="mailto:velocity-user@jakarta.apache.org">La lista de usuarios
- de Velocity</a>.
+ de Velocity</a>.
Gracias!
</p>
</blockquote>
---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-dev-help@jakarta.apache.org