如何解决在外部上下文中使用请求映射进行JSF重定向
我有一个JSF页面(index.xhtml),该页面显示学生从数据库中读取的内容,并在数据表中显示其姓名和其他数据。有一个链接“ UPDATE”,它从index.html托管bean类调用loadStudent()。该方法应将Student对象放入请求映射中,然后重定向到更新页面(updatestudent.xhtml)。更新页应显示从Student对象读取的数据。
学生班
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String studentName;
private String studentLastname;
// getters and setters
我尝试将Student对象放入请求映射中,然后重定向。
public void loadStudent(Student student) throws IOException {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Map<String,Object> requestMap = externalContext.getRequestMap();
requestMap.put("student",student)
FacesContext.getCurrentInstance().getExternalContext().redirect("updatestudent.xhtml");
成功重定向,但学生信息未显示在updatestudent.xhtml页面中。
updatestudent.xhtml托管Bean
@Named
@ViewScoped
public class UpdateStudent implements Serializable {
private Student student;
@PostConstruct
private void init() {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Map<String,Object> requestMap = externalContext.getRequestMap();
student = (Student) requestMap.get("student");
}
//getters and setters
如果我使如下所示的loadStudent()方法,则它将成功重定向,并在updatestudent.xhtml中读取学生数据
public String loadStudent(Student student) throws IOException {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Map<String,Object> requestMap = externalContext.getRequestMap();
requestMap.put("student",student)
FacesContext.getCurrentInstance().getExternalContext().redirect("updatestudent.xhtml");
return "updatestudent";
我不想将第二个示例与return关键字一起使用,而是希望以编程方式以及请求映射中的Student对象进行重定向。有可能吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。