Combinar Código Java y EL en JSP mediante Spring

En muchos sistemas normalmente usamos muchas constantes en enteros y muchas veces queremos convertirlas a una representación en cadena. A continuación les mostraré como hacer eso con spring.

Para combinar código Java y EL podemos usar la etiqueta eval del taglib de Spring para llamar código de cualquier clase y poder usar el lenguaje EL (Expression Language) al mismo tiempo.

<!-- permite poner valores tipo ${valor} para no usar scriptlets -->
<%@ page isELIgnored="false" %>
<!-- etiquetas de spring -->
<%@taglib prefix="s" uri="http://www.springframework.org/tags" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>Documentos</h1>
    <p>\n           <c:forEach items="${listaDocumentos}" var="documento">
           <b>FolioSG:</b>${documento.folio}
           <br>
           <s:eval expression="T(mx.ine.sidj.service.ws.util.Utilidades).conviertePrioridad(documento.prioridad)"
                var="laPrioridad"/>
        <b>Prioridad:</b>${laPrioridad}
    </p>
    <hr>
</c:forEach>
</body>
</html>

Para llenar los valores necesitamos definir un controlador de Spring.

@Controller
public class MiController {

    private MiServicio servicio;

    @Autowired
    public TurnadoController(TurnadoService servicio) {
        this.servicio= servicio;
    }

    @RequestMapping("/documentos")
    public void listaDocumentos(Model model) {
        List<Documento> listaDocumentos= servicio.obtieneListadocumentos();
        model.addAttribute("listaDocumentos", listaDocumentos);
    }
}

Es importante notar que el uso de model.addAttribute nos poblará la lista permitiéndonos accederla desde cualquier parte de la aplicación web.

Nuestro servicio puede ser extremadamente simple.

@Service
public class TurnadoService {
    private List<Peticion> listaDocumentos = new LinkedList<>();
    public List<Peticion> obtieneListaPeticiones() {
        listaDocumentos.add(new Documento(1,2));
        return listaDocumentos;
    }
}

  • Cursos de Código Facilito

    Te comparto aquí mis recomendaciones de cursos de Código Facilito. Codigofacilito.com es una plataforma virtual de cursos en idioma exclusivamente español que inició como un canal de YouTube. Opinión de la plataforma En mi opinión la plataforma aún es incipiente y los cursos necesitan más trabajo, ya que es muy común hallarse con clases de…


  • Cursos de LinkedIn Learning

    Te comparto aquí mis recomendaciones de cursos de Linkedin Learning. LinkedIn Learning es una plataforma virtual de cursos propiedad de Microsoft. Hallarás mucho material en inglés, pues prácticamente todos los cursos vienen con subtítulos en castellano y en la parte técnica son muy buenos debido a la adquisición de Lynda.com. En mi opinión la plataforma…


  • Mockito: Snippets de código

    Estos snippets de código para entrevista acerca de mockito espero te sean de mucha utilidad. Claro que también los puedes usar para tu desarrollo en el día a día. Mock básico Si te llegan a mostrar algo como esto es mejor que sospeches, mockito se usa principalmente para pruebas de integración. Si llegas a ver…


javapro.org