jueves, 21 de junio de 2007

interesante en seam

Limitaciones/validaciones en inputs jsf y seam:
@NotNull(message="Credit card number is required")
@Length(min=16, max=16, message="Credit card number must 16 digits long")
@Pattern(regex="^\\d*$", message="Credit card number must be numeric")



Añadir un mensaje a un control jsf a través del componente facesMessages de Seam

facesMessages.addToControl("verify", "Re-enter new password");
facesMessages.addToControl("username", "Username #{user.username} #{messages.traducciones}");
* notar que podemos hacer referencia a un componente a traves del lenguaje EL

Añadir un contador con interceptores
esto se hace a través del pages.xml

<page view-id="*">
<action execute="#{blog.hitCount.hit}"/>
</page>

Obtener la pagina actual desde cualquier componente
javax.faces.context.FacesContext.getCurrentInstance().getViewRoot().getViewId()

Obtener info del contexto para upload y directorios de imgs
facesContext.externalContext.requestContextPath

i18n, se puede acceder a través de la clase java, y el mismo properties puede tener referencias EL
facesMessages.addFromResourceBundle("Hello");
Hello=Hello,#{user.firstName}#{user.lastName}

Inyectar de forma dinámica objetos en cada contexto (extraído de ejemplo de DVD Store)
@In Context sessionContext;
private static final String USER_VAR = "currentUser";
function void xxx(){
Object found=dao.get(xx)
sessionContext.set(USER_VAR, found);
}
ya está inyectado el objeto found en el contexto de session.











No hay comentarios: