请问it前辈,有没有人帮我看看这个command button action怎么总是不起作用啊? 搞了一下午了,就是不行! primefaces + hibernate + spring + maven的项目,我在mysql workbench里面看不到更新employee条目,而且这个action根本没有调用empBean的addEmployee方法。 prime faces 用户手册也看了,无解。
跪谢!!
跪谢!!
代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>My Team</title>
</h:head>
<h:body>
<h2>My Team</h2>
<hr/>
<h:outputText value="Hello JSF"/>
<p:editor value="Hello Primefaces"/>
<h:form id="empForm">
<p:commandButton value="Add default" action="#{empBean.addEmployee}" update="empForm"/>
<h3>Hello</h3>
<h:outputText id="employeeId" value="#{empBean.employee.firstName} #{empBean.employee.lastName}"/>
</h:form>
</h:body>
</html>
代码:
package managedBeans;
import java.io.Serializable;
import javax.faces.bean.SessionScoped;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import model.Employee;
import services.EmployeeService;
@Component("empBean")
@SessionScoped
public class EmployeeBean implements Serializable{
private static final long serialVersionUID = 1L;
private Employee employee = new Employee();
@Autowired
private EmployeeService empService;
private Employee emp1;
private Employee emp2;
public EmployeeBean(){
emp1 = new Employee();
emp1.setFirstName("Huong");
emp1.setLastName("Nguyen");
emp2 = new Employee();
emp2.setFirstName("Khang");
emp2.setLastName("Le");
}
public void addEmployee(){
empService.addEmployee(emp1);
empService.addEmployee(emp2);
employee= empService.findEmployeeById(emp1.getEmpId());
System.out.println("bean addEmployee called!!");
}
public Employee getEmployee() {
return employee;
}
public void setEmployee(Employee employee) {
this.employee = employee;
}
}