Fichero .xhtml:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui">
<p:importConstants type="es.iecisa.portaflow.util.Constants" var="Constants" />
<f:view contentType="text/html" locale="#{request.locale}" encoding="ISO-8859-1">
<h:panelGroup layout="block" style="width:95%;margin:0 auto">
<p:fieldset legend="#{message['query.processes.title']}">
<h:form id="frmQuery">
<!-- EL CÓDIGO CONTINÚA... -->
<!-- SI LA PROPIEDAD ES EL DOCUMENTO, LO MOSTRAMOS COMO ENLACE DE DESCARGA -->
<c:if test = "#{processesBean.abstractMessageBean.label(name) eq Constants.MENSAJE_PROPIEDAD_DOCUMENTO}">
<p:commandLink id="buttonDownload" ajax="false">
<h:outputText value="#{processesBean.abstractMessageBean.property(name)}" />
<p:fileDownload value="#{processesBean.descargarDocumento}" />
</p:commandLink>
</c:if>
<c:if test = "#{processesBean.abstractMessageBean.label(name) ne Constants.MENSAJE_PROPIEDAD_DOCUMENTO}">
<p:outputLabel value="#{processesBean.abstractMessageBean.property(name)}"/>
</c:if>
Y la clase de constantes de Java:
package es.iecisa.portaflow.util;
// Declaramos la clase como final para que no tenga otras clases que la hereden
public final class Constants {
// Definimos el constructor como privado para que la clase no pueda ser instanciada
private Constants() {}
// Declaramos las constantes como static para que sean variables de clase y no de instancia, es decir,
// que no se crea una variable por cada instancia, sino que se crea una única variable que
// comparten todas las instancias.
// Declaramos las constantes como final para que no se pueda modificar su valor.
public static final String MENSAJE_PROPIEDAD_DOCUMENTO = "Documento";
}
No hay comentarios:
Publicar un comentario