实体bean(student)
@Entity
@Name("student")
@Table("Student")
public class Student{
... ...
}
Action(studentAction)
@Name("studentAction")
@Scope(ScopeType.SESSION)
public class StudentAction{
@In
@Out
private Student student;
}
jsp
<h:inputText value="#{student.name}"/>
<h:commandButton value="submit"/>
此时提交的是event范围的student,而不是studentAction 的范围session,
这种情况下studentAction得到的student可能不是你想要的结果。如果遇到
这种情况我找到两种解决方法:
a,指定student的范围为session
@Entity
@Name("student")
@Table("Student")
@Scope(ScopeType.SESSION)
public class Student{
... ...
}
b.在Action中用geter和seter代替@In,@Out
Action(studentAction)
@Name("studentAction")
@Scope(ScopeType.SESSION)
public class StudentAction{
private Student student;
public Student getStudent(){
return this.student;
}
public void setStudent(Student student){
this.student = student;
}
}
jsp
<h:inputText value="#{studentAction.student.name}"/>