我正在使用 JSF 2.0 和 Primefaces 3.4.2
我在 JSF 页面中有以下内容
<p:selectOneMenu value="#{mb.employee}">
<f:selectItems value="#{mb.employeeList}" var="emp"
itemLabel="#{emp.employeeName}" itemValue="#{emp.employeeCode}"/>
<p:ajax listener="#{mb.changeMethod}" />
</p:selectOneMenu>
问题是当我在 selectOneMenu 中选择一个值时,我在 ManagedBean 的 changeMethod 中得到空值,为此System.out.println("val "+employee.getEmployeeName());
这可能是什么原因?我该如何解决这个问题?任何 hep 都是非常可观的。
ManagedBean代码
@Named("mb")
@ViewAccessScoped
public class MyBean implements Serializable {
private Employee employee;
private List<Employee> employeeList;
@Inject
EmployeeService employeeService;
@PostConstruct
public void loadEmployees() {
employeeList = employeeService.getEmployees();
}
public void changeMethod() {
System.out.println("val "+employee.getEmployeeName());
}
/* getters and setters for employee and employeeList */
.... methods
/* */