Articulo de referencia

Velocidad de Apache

Apache Velocity, lanzado por primera vez en abril de 2001, es un motor de plantillas basado en Java que proporciona un lenguaje de plantillas para hacer referencia a objetos def...

Apache Velocity, lanzado por primera vez en abril de 2001, es un motor de plantillas basado en Java que proporciona un lenguaje de plantillas para hacer referencia a objetos definidos en código Java. Su objetivo es garantizar una separación clara entre el nivel de presentación y los niveles de negocio en una aplicación web (el patrón de diseño modelo-vista-controlador ).

Velocity es un proyecto de software de código abierto alojado por la Apache Software Foundation . Se publica bajo la licencia Apache . Jon Scott Stevens obtuvo el nombre del motor de velocidad AltiVec del chip PowerPC G4 .

Usos

Algunos tipos comunes de aplicaciones que utilizan Velocity son:

  • Plantilla de mapeo del cuerpo de AWS API Gateway
    Plantilla de mapeo del cuerpo de AWS API Gateway.
    Aplicaciones web : los desarrolladores web representan estructuras de páginas HTML . El contenido se completa con información dinámica. La página se procesa con VelocityViewServlet o cualquiera de los numerosos marcos que admiten Velocity.
  • Generación de código fuente : Velocity se puede utilizar para generar código fuente Java , SQL o PostScript , basándose en plantillas . Varios paquetes de software de desarrollo comercial y de código abierto utilizan Velocity de esta manera. [2]
  • Correos electrónicos automáticos : muchas aplicaciones generan correos electrónicos automáticos para el registro de cuentas, recordatorios de contraseñas o informes enviados automáticamente. Con Velocity, la plantilla de correo electrónico se puede almacenar en un archivo de texto , en lugar de incrustarla directamente en el código Java.
  • Transformación XML : Velocity ofrece una tarea Ant , llamada Anakia, que lee un archivo XML y lo pone a disposición de una plantilla de Velocity. Una aplicación común es convertir la documentación de software almacenada en un formato "xdoc" genérico en un documento HTML con estilo.
  • AWS API Gateway utiliza el motor Apache Velocity para las plantillas de mapeo corporal: el formato de salida es JSON .

Ejemplos de código

La siguiente plantilla :

## Velocity Hola Mundo 
< html > 
    < body > 
        # set (  $ foo  =  "Velocity"  ) 
        ## seguido de 
        Hola $ foo Mundo!
     </ body > 
</ html >

procesado por Velocity produce el siguiente HTML:

< html > 
    < cuerpo >
        ¡Hola Mundo Velocity!
    </ cuerpo > 
</ html >

Otro ejemplo utilizando condiciones:

# if (  $ foo  <  10  ) 
    **Ir al norte** 
# elseif (  $ foo  ==  10  ) 
    **Ir al este** 
# elseif (  $ bar  ==  6  ) 
    **Ir al sur** 
# else 
    **Ir al oeste** 
# end

Plantilla de mapeo de cuerpo de AWS API Gateway para DynamoDB HTTP:

{ 
    "TableName": "happy-marketer", 
    "KeyConditionExpression": "pk = :pk Y comienza_con(sk, :sk)", 
# si ($ entrada . parámetros ( 'projectStatus' ) == 'archivado' )     "FilterExpression": "projectStatus = :Archivado", # de lo contrario     "FilterExpression": "projectStatus = :EnProgreso O projectStatus = :Completado", # fin     "ExpressionAttributeValues": {         ":pk": {             "S": "proyecto"         },         ":sk": {             "S": " $ contexto . autorizador . reclamos . correo electrónico "         }, # si ($ entrada . parámetros ( 'projectStatus' ) == 'archivado' )         ":Archivado": {             "S": "Archivado"         } # de lo contrario         ":EnProgreso": {             "S": "En progreso"         },         ":Completado": {             "S": "Completado"         } # fin     } }      

    

    







          



        






        


Otro ejemplo con matriz opcional; sin condición fallará debido a que el JSON resultante no es válido:

{ 
    "email": " $ context . authorizer . claims . email " 
# if ($ input . params ( 'countries' ) != "" )     , "countries": $ input . params ( 'countries' ) # fin }      

    

La sintaxis y el concepto general de las plantillas Apache Velocity son similares a la sintaxis del antiguo motor de plantillas WebMacro , que ahora también es un proyecto de código abierto. [ cita requerida ]

Véase también

Referencias

  1. ^ "Apache Velocity - Noticias del proyecto". velocity.apache.org . Apache Software Foundation . Consultado el 2 de abril de 2021 .
  2. ^ "PoweredByVelocity". Wiki de Velocity . Wiki.apache.org. 2009-12-30. Archivado desde el original el 23 de marzo de 2010. Consultado el 29 de marzo de 2010 .

Bibliografía

  • Harrop, Rob; Darwin, Ian (30 de agosto de 2004), Pro Jakarta Velocity: From Professional to Expert (1.ª ed.), Apress , pág. 370, ISBN 978-1-59059-410-0, archivado desde el original el 5 de julio de 2009 , consultado el 4 de septiembre de 2009
  • Cole, Jim; D. Gradecki, Joseph (16 de julio de 2003), Mastering Apache Velocity (1.ª ed.), Wiley , pág. 372, ISBN 978-0-471-45794-7, archivado desde el original el 7 de octubre de 2012 , consultado el 4 de septiembre de 2009
  • Velocidad en Apache
  • Guía del usuario


Obtenido de "https://es.wikipedia.org/w/index.php?title=Velocidad_de_Apache&oldid=1220261783"