JSF: CommandLink не работает с dataTable и ajax - PullRequest
1 голос
/ 03 марта 2011

У меня есть команда LinkLink внутри таблицы данных. dataTable заполняется вызовом ajax. Но моя команда linkLink не указывает на правильное местоположение. Вот код.

<h:form id="form1">
    <h:outputLabel value="Search Movie: " /> <h:inputText value="#{movieBean.movie.name}" id="inputName">
        <f:ajax render="dTbl" listener="#{movieBean.searchMovie}" execute="inputName" />
        </h:inputText><br/>
    <h:commandButton type="reset" value="Clear" />
    <h:dataTable id="dTbl" value="#{movieBean.movies}" var="movies" rendered="#">
        <h:column>
            <f:facet name="header">  
                <h:outputText value="Name" />  
            </f:facet>
            <h:commandLink action="#{movieBean.loadMovieDetails}">
                <h:outputText value="#{movies.name}" />
            </h:commandLink>
        </h:column>
        <h:column>
            <f:facet name="header">  
                <h:outputText value="ISBN" />  
            </f:facet>   
            <h:outputText value="#{movies.isbn}"></h:outputText>
        </h:column>
        <h:column>
            <f:facet name="header">  
                <h:outputText value="Release Date" />  
            </f:facet>   
            <h:outputText value="#{movies.releaseDate}"></h:outputText>
        </h:column>
        <h:column>
            <f:facet name="header">  
                <h:outputText value="Star Rating" />  
            </f:facet>   
            <h:outputText value="#{movies.starRating}"></h:outputText>
        </h:column>
    </h:dataTable>
    </h:form>   

Любая помощь очень ценится. Спасибо Имад

1 Ответ

1 голос
/ 03 марта 2011

Поместите компонент в область просмотра.

@ManagedBean
@ViewScoped
public class MovieBean {
    // ...
}

И гарантируют , что вы не выполняете никакой бизнес-логики в методах получения.Так что все они должны выглядеть так:

public List<Movie> getMovies() {
    return movies;
}

Да, просто return propertyName; и ничего более.Если вам нужно , сделайте это где-нибудь еще.

Оба гарантируют, что список фильмов будет точно таким же во время запроса отправки формы, как и во время запроса, который отображал список.Таким образом, JSF может найти командную ссылку, отвечающую за действие, и выполнить ее соответствующим образом.

См. Также:

...