2013-05-22 4 views
0

на моей странице XHTML Я не могу вызывать методы, объявленные в управляемом компоненте, я новичок в этой платформе, мне бы хотелось, чтобы кто-то это разъяснил мне. Я работаю на 2.1 проекте JSF с JPA на Eclipse, Juno 4,2 здесь это управляемый был кодxhtml не распознает методы, объявленные в управляемом Bean

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package managedBean; 



import java.util.List; 

import javax.ejb.Local; 

import model.*; 
import java.util.ArrayList; 
import java.util.List; 
import javax.annotation.PostConstruct; 
import javax.ejb.EJB; 
import javax.faces.bean.ManagedBean; 
import javax.faces.bean.RequestScoped; 
import javax.faces.bean.ViewScoped; 

import service.EmpFacadeLocal; 

/** 
* 
* @author Louuup 
*/ 
@ManagedBean (name= "empbean") 
@RequestScoped 
@ViewScoped 
public class EmpManagedBean { 
public Employe emp; 
    @EJB 
    public EmpFacadeLocal empfacadelocal; 
    public Boolean saisie; 
    private List<Employe> emps; 
    private String iddd; 
    private Employe selectedemp; 
    private List<Employe> filteredemps; 
    private Employe[] selectedemps; 
    /** 
    * Creates a new instance of EmpManagedBean 
    */ 
    public EmpManagedBean() { 
     emps = new ArrayList<Employe>(); 
    } 
    @PostConstruct 
    public void initEmp(){ 
     emp = new Employe(); 
     saisie = false; 
     emps = empfacadelocal.getEmpRq(""); 
    } 

    public Employe getEmp() { 
     return emp; 
    } 

    public void setEmp(Employe emp) { 
     this.emp = emp; 
    } 

    public Boolean getSaisie() { 
     return saisie; 
    } 

    public void setSaisie(Boolean saisie) { 
     this.saisie = saisie; 
    } 

    public List<Employe> getEmps() { 
     return emps; 
    } 

    public void setEmps(List<Employe> emps) { 
     this.emps = emps; 
    } 

    public String getIddd() { 
     return iddd; 
    } 

    public void setIddd(String iddd) { 
     this.iddd = iddd; 
    } 

    public Employe getSelectedemp() { 
     return selectedemp; 
    } 

    public void setSelectedemp(Employe selectedemp) { 
     this.selectedemp = selectedemp; 
    } 

    public List<Employe> getFilteredemps() { 
     return filteredemps; 
    } 

    public void setFilteredemps(List<Employe> filteredemps) { 
     this.filteredemps = filteredemps; 
    } 

    public Employe[] getSelectedemps() { 
     return selectedemps; 
    } 

    public void setSelectedemps(Employe[] selectedemps) { 
     this.selectedemps = selectedemps; 
    } 
    public void findEmpaff(){ 
     //admin = adminfacadelocal.getAdmin(iddd); 
     emps = empfacadelocal.getEmpRq(""); 
    } 
    public void creerEmp(){ 
     System.out.println("azertre "); 
     empfacadelocal.create(emp); 
     saisie = true; 
    } 
} 

и вот мой XHTML страница

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:p="http://primefaces.org/ui"> 

    <body> 

     <ui:composition template="./../resource/Template.xhtml"> 

      <ui:define name="title"> 
       <title> Ajout emp</title> 
      </ui:define> 

      <ui:define name="page"> 
       <h:form id="dd"> 



        <p:growl id="growl" showDetail="true"/> 


        <p:panel header="Fiche Emplyé" > 
         <h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5"> 
          <h:outputLabel value="Matricule Employé :"/> 
          <p:inputText disabled="#{empbean.saisie}" value="#{empbean.emp.matEmp}"/> 
          <h:outputLabel value="Nom Employé :"/> 
          <p:inputText disabled="#{empbean.saisie}" value="#{empbean.emp.nomEmp}"/> 
          <h:outputLabel value="Prénom Employé :"/> 
          <p:inputText disabled="#{empbean.saisie}" value="#{empbean.emp.prenomEmp}"/> 
          <h:outputLabel value="Date de naissance Employé :"/> 
          <p:calendar disabled="#{empbean.saisie}" locale="pt" showButtonPanel="true" navigator="true" id="pttCal" value="#{empbean.emp.dateNaisEmp}"/> 
          <h:outputLabel value="Adresse Employé :"/> 
          <p:inputText disabled="#{empbean.saisie}" value="#{empbean.emp.adressEmp}"/> 
          <h:outputLabel value="N° téléph Employé :"/> 
          <p:inputText disabled="#{empbean.saisie}" value="#{emp.emp.numTelfEmp}"/> 
          <h:outputLabel value="E-mail Employé :"/> 
          <p:inputText disabled="#{empbean.saisie}" value="#{empbean.emp.emailEmp}"/> 
          <h:outputLabel value="N° compte Employé :"/> 
          <p:inputText disabled="#{empbean.saisie}" value="#{empbean.emp.numCompteEmp}"/> 

          <p:selectOneMenu disabled="#{empManagedBean.saisie}" value="#{empbean.emp.fonctionEmp}"> 
           <f:selectItem itemLabel="Jardinier" itemValue="Jardinier" />  
           <f:selectItem itemLabel="Agent d'hygiene" itemValue="Agent d'hygiene" /> 
           <f:selectItem itemLabel="Agent de sécurité" itemValue="Agent de sécurité" />  
           <f:selectItem itemLabel="Magasinier" itemValue="Magasinier" /> 
          </p:selectOneMenu> 






         </h:panelGrid><br/> 
         <p:commandButton disabled="#{empbean.saisie}" value="Valider" update="dd" style="margin-left: 250px;" actionListener="#{empbean. }"/> 



        </p:panel> 

       </h:form> 
      </ui:define> 

     </ui:composition> 

    </body> 
</html> 

Я хочу вызвать метод «creerEmp» в команде так как это # ​​{empbean.creerEmp()}, но я не могу этого сделать, пожалуйста, помогите мне

+0

Просьба указать точное сообщение об ошибке/ошибке/исключении, с которым вы столкнулись, вместо бесполезного оператора «Я не могу этого сделать». Точное сообщение об ошибке/ошибке/исключении, как правило, уже является полным ответом. Если вы не можете расшифровать его, просто поделитесь им с нами, мы обычно можем перевести его для вас в условиях неспециалиста. – BalusC

+0

Вы используете 'RequestScoped' и' ViewScoped' в качестве областей вашей 'empbean'. – Manuel

ответ

0

Метод для исполнителя действий должен иметь параметр ActionEvent. Но я думаю, что вы хотите, это нормальное действие, которое должно быть в порядке, как это:

<p:commandButton disabled="#{empbean.saisie}" value="Valider" 
    update="dd" style="margin-left: 250px;" action="#{empbean.creerEmp}"/> 
0

Должно работать с #{empbean.creerEmp}. Параметр ActionEvent не требуется.

Сначала вы должны попробовать без компонента состава, чтобы увидеть, работает ли ваш метод ActionListener. Кроме того, я думаю, что вы неправильно используете составной компонент.

Смежные вопросы