JSF AJAX render wird nicht ausgeführt

_PASCAL_

Mitglied
Hallo,

ich bin gerade dabei für MediaPortal ein WebInterface zu basteln.

Dabei wollte ich erst mal alle Channels welche zu einer bestimmten ChannelGroup gehören anzeigen ..
klappt auch nur wird bei meinem Selectonemenu der ajax teil nicht ausgeführt ... es ging gerade eben aber jetzt nicht mehr ... und ich weis nicht warum ... omg

Java:
        <h:form id="menu">

            <h:selectOneMenu value="#{mediaportalPM.group}">
                <f:ajax listener="#{mediaportalPM.change_group()}" render="menu:table"/>
                <f:selectItems value="#{mediaportalPM.groups}" var="group" 
                               itemValue="#{group}" 
                               itemLabel="#{group.groupName}"/>
            </h:selectOneMenu>


            <h:dataTable id="table" value="#{mediaportalPM.channels}" var="channel">
                <h:column>
                    <h:outputText value="#{channel.displayName}"/>
                </h:column>
            </h:dataTable>

        </h:form>

Java:
@Named
@SessionScoped
public class mediaportalPM implements Serializable {

    private Channelgroup group;
    @EJB
    private mediaportalService service;
    private List<Channel> channels;
    private List<Channelgroup> groups;

    @PostConstruct
    private void init() {
        groups = service.all_groups();
        group = groups.get(1);
        channels = service.channels(group);
    }

    public String convert() throws IOException {
        Runtime p = Runtime.getRuntime();
        p.exec("vlc");

        return null;
    }

    public void change_group() {
        channels = service.channels(group);
    }

    public List<Channel> getChannels() {
        return channels;
    }

    public List<Channelgroup> getGroups() {
        return groups;
    }

    public Channelgroup getGroup() {
        return group;
    }

    public void setGroup(Channelgroup group) {
        this.group = group;
    }
}

könnt Ihr mir helfen?

Gruß
Pascal
 
Probiere mal:

[XML]<h:selectOneMenu value="#{mediaportalPM.group}" valueChangeListener="#{mediaportalPM.change_group()}">
<f:ajax render="table"/>[/XML]

statt

[XML]<h:selectOneMenu value="#{mediaportalPM.group}">
<f:ajax listener="#{mediaportalPM.change_group()}" render="menu:table"/>[/XML]

Alternativ:

[XML]<f:ajax event="valueChange" execute="@this" render="table"/>[/XML]
 
Guten Morgen,

leider funktioniert beides nicht ...

als ich den value des SelectoneMenu noch auf einem String stehen hatte und im meinem Bean dann erst mittels des Namen der Gruppe die Id ermittel habe ging das ganze ... da wusste ich noch nicht dass ich mit itemLabel und itemValue ganze Klassen in einem SelectOneMenu verarbeiten kann ...

seit ich das umgestellt habe funktioniert das ganze nicht mehr 🙁

ka warum ... wir kann ich denn testen ob ajax überhaupt was macht ? ... vll bleibt mediaportalPM.group ja auf dem gleichen wert ... dann wäre klar dass nicht passiert ...

aber vll sendet ajax ja auch nichts zum server ... ka

noch ne Idee?
 
hmm das wusste ich nicht ... muss der rückgabe wert ein String sein ? also der value eines SelectOneMenu ?

ich mein klar wenn es über GET POST gesendet wird wäre es schon ein bissle viel eine ganze Klasse je nach größe zu übermitteln ...
 

Zurück
Oben