JSF:CommandLink不使用dataTable和ajax

我在dataTable中有一个commandLink。 dataTable由ajax调用填充。但是我的commandLink没有指向正确的位置。这是代码。
<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>   
    任何帮助都非常感谢。 谢谢 伊马德     
已邀请:
将bean放在视图范围中。
@ManagedBean
@ViewScoped
public class MovieBean {
    // ...
}
并确保您在getter中不执行任何业务逻辑。所以他们都应该是这样的
public List<Movie> getMovies() {
    return movies;
}
是的,只是一个
return propertyName;
而已。如果需要,可以在其他地方进行。 两者都将确保在表单提交请求期间电影列表与显示列表的请求期间完全相同。这样,JSF可以找到负责该操作的commandlink并相应地执行它。 也可以看看: JSF忽略了
action
属性     

要回复问题请先登录注册