0

jsf を使用して、従業員プロファイルを編集したいのですが、ユーザーが特定のデータテーブル行をクリックすると、

アレイリストで選択した患者の詳細をすべて取得できます。ここで、arraylist のすべての属性を page1.xhtml backingbean に設定したいので、ユーザーが特定の行を選択すると、page1.xhtml に移動し、arraylist 属性によって既に設定されているフォームでこれらすべてのフィールドを取得します。

私はこのように努力しています。

> page1.xhtml

    <h:outputLabel  value="Name" />
    <p:inputText id="name1" value="#{employeeBB.emp.name}" >
                            </p:inputText>

    <h:outputLabel  value="age" />
                            <p:inputText id="ag" value="#{employeeBB.emp.age}" >
                            </p:inputText>


    <h:outputLabel  value="code" />
                            <p:inputText id="code1" value="#{employeeBB.emp.code}" >
                            </p:inputText>


@ManagedBean(name = "employee") 
@ViewScoped 
public class emp {
private String name;    
private String age;     
private String code;    
public String getName() 
{       return name;    
}

public void setName(String name) { 
this.name = name;   
}

public String getAge() {
return age;     
}

public void setAge(String age) {
this.age = age;     
}

    public String getCode() {
    return code;    
    }

public void setCode(String code) {
this.code = code;   
}

 }


    @SessionScoped
    @ManagedBean
    public class EmployeeBB implements serializable{

    private Employe emp;

        public Employee getEmp() {
            return emp;
        }

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



    }

    @SessionScoped
    @ManagedBean
    public class AddEmployeeBB{

    private ArrayList<Employee>empList;


    private ArrayList<Employee>empList;


        public ArrayList<Employee> getEmpList() {
            if(empList==null){

                empList=new ArrayList<Employee>();
            }

            return empList;
        }

        public void setEmpList(ArrayList<Employee> empList) {
            this.empList = empList;
        }

    public void method() throws IOException{

    String code='123';

    EmployeeDAO obj=new EmployeeDAO();   // DAO class 

    empList=obj.getAllEmplInfo(code); // will get all needed information about employee of this code in this arrayist 

    for(int i=0;i<empList.size();i++){

    String name=empList.get(i).getName();
    String age=empList.get(i).getAge();
    String code=empList.get(i).getCode();

    Employee e=new Employee();

    e.setName(name);
    e.setAge(age);
    e.setCode(code);

    EmployeeBB obj1=new EmployeeBB();

    obj1.setEmp(e);  // now according to my logic object e will set to emp object of Employee, and 
    // that means  all these values name ,agem and code will be set to my  page1.xhtml and I will be able to see it.



    }

    }

しかし、値が入力された pag1.xhtml を取得できません。

わたしに道を教えて下さい。

4

1 に答える 1

1

表示されない理由は、作成しているオブジェクトに値を設定しているためです

EmployeeBB obj1=new EmployeeBB();

obj1.setEmp(e);

JSF ライフサイクルはこのオブジェクトを認識せず、空白が表示されるたびに.

これAddEmployeeBBに加えて

@ManagedProperty(value="employeeBB")
private EmployeeBB employeeBB = null; // create getter setter for this

次に、これの代わりに:

EmployeeBB obj1=new EmployeeBB();

obj1.setEmp(e);

これを使って:

this.employeeBB.setEmp(e);
于 2012-05-28T18:41:39.487 に答える