2010-02-02 8 views
3

Je vérifie actuellement la disponibilité d'un nom de connexion et souhaite afficher l'image info ou l'image d'avertissement avec un message approprié. Actuellement, nous recevons 2 messages d'erreur sur la non-disponibilité d'un nom de connexion.Comment afficher le message approprié (info ou warn) dans s: décorer?

  <s:decorate id="loginIdField" template="/layout/edit.xhtml"> 
       <ui:define name="label">Desired Login Name</ui:define> 
       <a:region> 
        <h:inputText id="loginId" required="true" value="#{userHome.instance.loginId}"/> 
        <s:message warnStyle="color: red" infoStyle="color: green"/> 
        <div class="actionButtons"> 
         <a:commandButton id="submit" value="Check Availability" 
          action="#{userHome.isUnique(userHome.instance.loginId)}" reRender="loginIdField"/> 
        </div> 
       </a:region> 
      </s:decorate> 

Code permettant d'ajouter des messages appropriés dans le bean.

if (!unique) { 
     statusMessages 
       .addToControlFromResourceBundle(
         "loginId", 
         WARN, 
         "LoginIdNotUnique", 
         new Object[] { inputLoginId }); 
    } else { 
     statusMessages.addToControlFromResourceBundle("loginId", INFO, 
       "LoginIdUnique", 
       new Object[] { inputLoginId }); 
    } 

edit.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
       xmlns:ui="http://java.sun.com/jsf/facelets" 
       xmlns:h="http://java.sun.com/jsf/html" 
       xmlns:f="http://java.sun.com/jsf/core" 
       xmlns:rich="http://richfaces.org/rich" 
       xmlns:s="http://jboss.com/products/seam/taglib"> 

    <div class="prop"> 

     <s:label styleClass="name #{invalid?'errors':''}"> 
      <ui:insert name="label"/> 
      <s:span styleClass="required" rendered="#{required}">*</s:span> 
     </s:label> 
     <div style="clear: both"/> 

     <span class="value #{invalid?'errors':''}"> 
      <s:validateAll> 
       <ui:insert/> 
      </s:validateAll> 
     </span> 

     <span class="error"> 
      <h:graphicImage value="/img/error.gif" rendered="#{invalid}" styleClass="errors"/> 
      <s:message styleClass="errors"/> 
     </span> 

    </div> 

</ui:composition> 
+0

apprécier tout conseil pour résoudre ce problème – Achaius

Répondre

1

Peut-être est le modèle? Avez-vous essayé ceci sans le modèle?

0

Changer le code à

<ui:define name="label">Desired Login Name</ui:define> 
<a:region> 
    <s:decorate id="loginIdField" template="/layout/edit.xhtml"> 
    <h:inputText id="loginId" required="true" value="#{userHome.instance.loginId}"/> 
    <s:message warnStyle="color: red" infoStyle="color: green"/> 
    </s:decorate> 
    <div class="actionButtons"> 
     <a:commandButton id="submit" value="Check Availability" 
      action="#{userHome.isUnique(userHome.instance.loginId)}" reRender="loginIdField"/> 
    </div> 
</a:region> 

Espérons que cela devrait fonctionner.