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;
}
}