2016-05-27 13 views
1

Ich verwende JSF 2.2 und ich möchte auf jeden option Element erzeugt durch h:selectOneMenu mit Pass-Through- unter Verwendung eines Attributs der f:selectItems Variable ein title Attribut angezeigt werden soll.kann nicht f zugreifen: selectItems Variable für Pass-Through-Attribut

Es scheint, dass ich nicht die f:selectItems Variable zugreifen kann meine Pass-Through- Attribut

Hier anzupassen ist, was ich

getan haben
public class ItemBean { 
    private int id; 
    private String strName; 
    private String strDescription; 

    public ItemBean(int id, String strName, String strDescription) { 
     this.id = id; 
     this.strName = strName; 
     this.strDescription = strDescription; 
    } 

    // Getters and Setters 
} 

Meine backbean Methode zum Anzeigen

Meine Einheit

bisher zum Abrufen der Liste der Einheiten

Mein h:selectOneMenu in der Ansicht

<h:selectOneMenu> 
    <f:selectItems value="#{bean.items}" var="item" 
          itemValue="#{item.id}" 
          itemLabel="#{item.strName}" 
          p:title="Description : #{item.strDescription}"/> 
</h:selectOneMenu> 

Das Problem ist, dass ich nicht die item Variable für p:title zugreifen können, wird der Ausgang dort gerade leer ist.

Hier wird der Code

<select> 
    <option title="Description : " value="1">Java</option> 
    <option title="Description : " value="2">PHP</option> 
    <option title="Description : " value="3">Python</option> 
</select> 

Ist es möglich, es so erzeugt zu tun oder gibt es einen anderen Weg?

Antwort

1

fand ich endlich eine Lösung für mein Problem mit jstlc:forEach Schleife und f:selectItem von diesem Posten Using f:selectItems var in passtrough attribute

Hier ist der Code:

<h:selectOneMenu> 
    <c:forEach items="#{bean.items}" var="item"> 
     <f:selectItem itemValue="#{item.id}" 
         itemLabel="#{item.strName}" 
         p:title="Description : #{item.strDescription}"/> 
    </c:forEach> 
</h:selectOneMenu>