JSF h:selectOneMenu选中的值

时间:2016-05-23 21:34:40

标签: jsf jsf-2 selectonemenu

我想用JSF进行一些交互式选择。我有那个代码:

<h:form>
     <h:selectOneMenu value="#{booksController.book}" immediate="true">
          <f:selectItems value="#{booksController.books}" var="book" itemValue="#{book}" itemLabel="#{book.title}" />
          <f:ajax execute="@this" render="book" />
     </h:selectOneMenu>
     <h:panelGroup id="book">
          <div>#{booksController.book.title}</div>
          #{booksController.book.details}
     </h:panelGroup>
</h:form>

控制器:

@ManagedBean
@ViewScoped
public class BooksController extends Controller {

    private Book book;

    public BooksController() {}

    public Book getBook() {
        return book;
    }

    public void setBook(Book book) {
        this.book = book;
    }

    public Book[] getBooks() {
        return new Book[] { ... };
    }
}

在该示例中,我想创建bookOneMenu书籍,每个项目都是书籍的标题,并且在更改时,下面的详细信息将会更新。

我尝试的所有内容都没有正确更新book元素。似乎是 #{booksController.book}根本不是更新(booksController定义为ViewScoped)。

如何正确更新?

0 个答案:

没有答案