Ok.
Continuamos con el controlador.
Nos vamos al package controllers.
Vamos a crear una nueva clase.
Factura controlen
finalizar la notábamos con controlar importamos Ricoh es mapping así le damos una ruta base al controlador
piada a factura.
Bien, continuamos con el método cuando estamos con el mapping una petición get con la ruta la ruta
ver para ver el detalle
un método importamos model, importamos Get Mapping
y pasamos un título con al atributo
y un valor.
Ejemplo factura con inyección de dependencia, retornamos y finalmente retornamos la vista.
Pero qué falta le idea a mostrar los datos de la factura con todos sus objetos relacionados componentes,
con la dependencia, con el cliente, con sus líneas.
Tenemos que inyectar en el controlador la factura.
Creamos el atributo, importamos y con atura importamos.
Perfecto.
Bueno, pasamos entonces a la audita factura con model atributo el nombre factura y el valor el objeto
factura y estamos listo con el controlador.
Ahora nos vamos a la lista.
Tenemos que crear el directorio factura y dentro la plantilla.
Ver.
Nos vamos a Recursos Templates.
Creamos la carpeta.
Dentro ver punto HTML new otro.
Nos vamos a web html file.
Ver?
Bien, como siempre UTF 8 en el HTML agregamos el XML Neopets
con la ruta http 2.2 larch large triple doble v punto también lif punto org.
Pasamos el título a la etiqueta title con th texto y lo mismo para un H1 para un título o un encabezado
HTML.
Bien, y lo que sigue serían los datos de la factura.
Bien, el inser title esto le quitamos
un h3 para mostrar el título de la factura o descripción
factura punto descripción Con la llaves vamos a tener un contenedor que muestre el nombre del cliente.
Por ejemplo cliente 2 punto.
Vamos a usar un span y acá mostramos el nombre
factura el siguiente punto nombre.
Pero además le concatenados el apellido con más comillas.
Simple.
Un espacio cerrado.
Comillas simple.
Otro más y apellido.
Bien, lo siguiente son las líneas,
por ejemplo, detalle de la factura, una CH4, una tabla, un TGA, un Tegoshi y dentro del TGA los
nombres de columnas,
el nombre, el precio, la cantidad y el total, entonces sería el producto, producto o nombre, precio,
cantidad y el total y por acá abajo.
Vamos a tener el cuerpo, el TR con los TEDE, con cada línea.
Ven, ordenamos con clic derecho sources format.
Íbamos a iterar sobre el terre?
Cada línea con th it.
El objeto, por ejemplo item 2 punto si no peso la llaves y la lista factura.
Punto ítems y acá mostramos.
Y punto, producto, punto, nombre.
Recordemos que el nombre del ítem o la línea es a través del producto, lo mismo el precio.
Copiamos,
pero la cantidad no, la cantidad es un atributo del ítem y luego tenemos el total, pero total, el
precio por cantidad.
Entonces multiplicamos el precio del producto
por asterisco ítem cantida
y guardamos bien.
Esto mismo puede ser un método calcular total o calcular importe en la clase ítem.
Ahí también lo podríamos hacer.
Guardamos factura controller y vamos a levantar.
Bien y nos vamos a factura.
Ver con inyección de dependencia el nombre factura deporte cliente Andres Guzman el detalle y su línea
perfecto está toda la relación.
Se acuerdan que había mencionado sobre los acentos que se rompen los caracteres especiales?
Bueno, eso se debe a que el carácter del HTML es distinto al juego de caracteres que tiene el archivo,
en este caso properties.
El application property que contiene estos textos.
Si revisamos el application properties acá tiene el acento con click derecho, por ejemplo Properties.
Vemos que está en ISO por defecto 88 59 1 bien se lo cambiamos a un Tf8, por ejemplo, otro aplicar
10, aplicamos y cerramos ok, volvemos a escribir.
El acento supuestamente se debiera de solucionar.
Guardamos perfecto haeta.
Lo volvemos a abrir?
Ningún problema.
Esperemos que se actualice y recargamos, pero el problema continúa.
Entonces, en este caso, cuando tenemos textos en los Properties que estamos inyectando con Value,
es mejor usar las configuraciones en los archivos properties caracteres especiales para los acentos
en HTML, por ejemplo, en vez de colocar el acento, colocamos el adversan la e para el acento acute
aquí out, punto y coma.
Y lo mismo para Usman, el ampersand acá sería una acute punto y coma.
Guardamos y esperamos que se actualiza.
Bueno, esto es solamente para los archivos de configuración como los properties.
Colocamos de esta forma los acentos en caracteres especiales html.
Guardamos y nos vamos a la vista en vez de colocar th text en el nombre y en el apellido.
Utilizamos un u th tex bien u significa an skype, es decir, que no escape no escapar.
Los caracteres especiales de las entidades HTML, como en este caso el acento.
Con él hay out.
Guardamos y actualizamos.
Ya está perfecto.
3.
Guzmán con los acentos.
Ahora qué pasa si colocamos text sinla u guardamos.
Actualizamos.
Interpreta los caracteres especiales como texto bien por defecto escapa cualquier caracter especial
html o etiquetas entidades html.
Por seguridad las convierte.
Las deja como texto y no como caracteres especiales html.
Por eso usamos la U cuando tenemos esos tipos de caracteres especiales para que no los escape.
Guardamos y sí.
Y por último, para finalizar, podríamos quitar esto.
Y lo podremos llevar a un método del iten factura.
Nos vamos a la clase y en factura vamos a crear un método.
Calcular importe va a retornar precio por cantidad
qué precio entonces ahora utilizamos calcular importe.
Guardamos y en factura nos vamos a la dicta y cacería.
Item punto calcular importe con los paréntesis ya que no es un método IET entonces tenemos que colocar
los paréntesis.
Es un método común y corriente.
Guardamos, actualizamos y el resultado es el mismo.
Bien, quedamos hasta acá.
Nos vemos.