【发布时间】:2012-05-17 17:52:55
【问题描述】:
我有一个关键的场景。
考虑 3 页。 Page1、Page2、Page3。
来自 第 1 页。 QueryString 中有一个参数,名为“note”。它有两个值“CreateNote”或“UpdateNote”。基于这些值,我在 Page2 上隐藏并显示很少的内容。
到这里没问题。
现在我需要从 Page2 导航到 Page3。 Page3 上有一个后退按钮。我尝试在 Back 上设置 note 属性,但仍然没有设置这些信息,因此在 Page2 上出现空指针访问。
一些代码如下
Page1网址喜欢
http://localhost:9095/Oscer/pages/UpdateNote.jsf?modified=NO¬e=UpdateNote&docid=206&callFrom=prescribe
在第2页
它使用像...这样的脚本来处理
在 backingbean 构造函数调用上设置注释对象。
<%
String note = request.getParameter("note");
if(note == null || note.equals("")){
note = (String)request.getAttribute("note");
}
request.setAttribute("note",note);
%>
在第3页
试图处理 BackButton 之类的,
if(note == null){
FacesContext facesContext = FacesContext.getCurrentInstance();
Map<String,String> requestObj = facesContext.getExternalContext().getRequestParameterMap();
if(requestObj != null){
note = requestObj.get("note"); //Either of CreateNote or UpdateNote
}
}
request.setAttribute("note", note);
现在,当我们从 Page3 导航到 Page2 时,虽然我设置了 request.setAttribute("note", note);,但它给出了 NULL 指针异常原因,请注意 Page2 不是还没设置:(
如果查询字符串处理的jsp页面,我不明白如何导航??
【问题讨论】: