jsf params保护

时间:2010-09-05 23:25:56

标签: ajax jsf params

我尝试创建一个链接 - 更改页面语言的图像。但是我遇到了一个问题,即在ajax调用之后GET url params丢失了,因此不仅语言发生了变化,而且由于没有params,内容也发生了变化。我找到的解决方案是写下我在整个网站上使用的每一个参数,并尝试将其放入命令链接。但是,我希望这不是一个最好的解决方案。你能想到一个吗?

<h:commandLink id="language" actionListener="#{userBean.changeLanguage}">
 <f:param name="itemId" value="#{param.itemId}" />
 <f:param name="categoryId" value="#{param.categoryId}" />
 <f:ajax render="@all" />
</h:commandLink>

是的,我的网站不是很大,只有两个参数,但我想为将来学习。

1 个答案:

答案 0 :(得分:0)

使它们成为@ViewScoped bean的属性。

@ManagedBean
@ViewScoped
public class Bean {

    @ManagedProperty(value="#{param.itemId}")
    private Long itemId;

    @ManagedProperty(value="#{param.categoryId}")
    private Long categoryId;

    // ...
}

只要观看视频对话持续,他们就会在那里。