会话超时后jsf丢失url param

时间:2015-02-28 12:15:12

标签: session-timeout jsf-2.2

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"/>

0 个答案:

没有答案