jsf页面使用<f:viewParam>
和<f:viewAction>
来获取网址参数并正常打开网页。
我也用过
<f:event type="preRenderView"/>
这种行为通常是
如果会话丢失,如果刷新页面或按下输入页面,页面会重定向到输入用户名和密码的登录页面,并返回到包含参数的初始页面。
但是如果会话丢失并且用户点击页面中的任何按钮(操作按钮而不是页面的linl),页面将重定向到具有初始URL但没有参数的登录页面
示例网址:localhost:8080 / newProject / views / page1?id = 1
在第一种情况下,相同的url被重定向到,但在第二种情况下,它重定向到localhost:8080 / newProject / views / page1失去参数id = 1
Java代码:
private Item item;
@EJB
ItemFacade itemFacade;
private String id;
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
public void init(){
item= itemFacade.find(id);
}
JSF代码:
<f:viewParam name="id" value="#{myBean.id}"/>
<f:viewAction value="#{myBean.init()}" onPostback="false"/>