Ajax jsf参数守恒

Ajax jsf参数守恒,ajax,jsf,params,Ajax,Jsf,Params,我试图创建一个链接图像来改变页面的语言。但是我遇到了一个问题,即在ajax调用之后GET url参数丢失了,因此不仅语言发生了变化,而且内容也因为没有参数而发生了变化。我找到的解决办法是写下我在整个网站上使用的每个参数,并尝试将其放入命令链接中。但是,我希望这不是一个最简单的解决方案。你能想出一个吗 <h:commandLink id="language" actionListener="#{userBean.changeLanguage}"> <f:param name="ite

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

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


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

让它们成为
@ViewScoped
bean的属性

@ManagedBean
@ViewScoped
public class Bean {

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

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

    // ...
}
只要视图对视图的对话持续下去,它们就会一直存在