2012-07-03 2 views
2

J'ai un tableau à deux dimensions appelé calendrier qui stocke les jours et les heures de la semaine. Comment puis-je fournir une expression pour l'attribut de valeur p:selectBooleanCheckbox pour définir/obtenir les valeurs d'horaire.Langage d'expression pour définir/obtenir la valeur d'un p: selectBooleanCheckbox

<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:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:p="http://primefaces.prime.com.tr/ui"> 

    <h:panelGrid columns="24"> 
     <c:forEach begin="0" end="6" varStatus="day"> 
      <c:forEach begin="0" end="23" varStatus="hour"> 
       <p:selectBooleanCheckbox value="..."> 
        <p:ajax listener="#{windowsLogonHours.selectHour(day.count - 1, hour.count - 1)}" /> 
       </p:selectBooleanCheckbox> 
      </c:forEach> 
     </c:forEach>   
    </h:panelGrid> 
</ui:composition> 

Répondre

2

En supposant que le timetable est un boolean[][], vous pouvez utiliser LoopTagStatus#getIndex() de varStatus pour obtenir l'indice d'itération que vous pouvez utiliser l'indice du tableau 2D. Notez que vous devez préparer le tableau vous-même pendant l'initialisation du bean backing ou (post) construction. JSF/EL ne va pas préparer le tableau pour vous, mais seulement obtenir/définir ses valeurs par index.

+0

Le langage d'expression pour la valeur est correct. Une seule petite correction. Le tableau doit être Boolean [] []. À l'adresse http://www.primefaces.org/docs/vdl/3.2/p/selectBooleanCheckbox.html, il est indiqué que la valeur doit être évaluée en java.lang.Object. – Seitaridis

+0

Non, cela fonctionne aussi bien pour 'boolean [] []'. – BalusC

+0

J'ai cette exception avec boolean [] []: java.lang.ClassCastException: Impossible d'ajouter un objet de type [java.lang.Boolean] à un tableau d'objets de type [boolean] – Seitaridis

Questions connexes