Я пытаюсь заполнить список <h:selectOneMenu>
.Однако список, который я пытаюсь получить, является частью другого класса, который является переменной в базовом классе.
Вот что у меня есть, и я не уверен, возможно ли это вообще или как это сделатьit.
У меня есть класс Citation
со следующим:
public class Citation {
private int id;
private String title;
private Status status;
// getters and setters
}
Затем у меня есть класс Status
со следующим:
public class Status {
private int id;
private String name;
public List<Status> getAll() {
// goes to the database and gets a list of status objects
System.out.println("I was called!");
}
// getters and setters
}
Тогдана моей странице xhtml у меня есть следующее:
<h:selectOneMenu id="citation_status" value="#{citation.status}">
<f:selectItems value="#{citation.status.all}" var="s"
itemLabel="#{s.name}" itemValue="#{s.id}" />
</h:selectOneMenu>
Однако, похоже, что это вовсе не вызов метода getAll
в классе Status
.Когда страница завершает загрузку, поле выбора становится пустым, и консоль не выводит I was called!
из метода getAll()
.
Я немного новичок в JSF, и я попытался найтилучшее, что я могу, но я не совсем уверен, какую терминологию использовать при поиске, потому что это технически не называется «подкласс», но это лучшее имя, которое я могу придумать, так что, разумеется, япри поиске ничего не получится.
Дополнительная информация
Если это поможет:
- Я использую Glassfish в качестве сервера приложений
- Я использую Hibernate для своего ORM
- Я использую JSF 2.0