使用javascript更改会话bean的值

时间:2014-05-22 13:43:57

标签: java javascript jsf session javabeans

所以我有一个会话bean用作标志,无论是显示项目列表还是项目网格......这个值可以在我的页面中以多种方式改变(点击某个命令按钮,到单击菜单中的项目,单击其他命令按钮等)

现在我在页面上使用隐藏输入来获取bean的值(默认情况下它具有某种类型)

<h:inputHidden id="viewType" value="#{myBean.viewType}" />

在我的javascript函数中,我为这个输入赋值,然后用其他js函数显示正确的视图类型......

   function setProdViewGrid(){
        document.getElementById('catPage:viewType').value = "grid";
        showProdGrid();
    };
    function setProdViewList(){
        document.getElementById('catPage:viewType').value = "list";
        showProdList();
    };

这样可行,但问题是在bean上,属性viewType没有更新,只是输入值(这完全有意义)。由于我的bean是会话类型,我想改变&amp;保持这个价值,有没有办法通过js做到这一点?这是我的bean端函数

public void setProdViewList(){
    viewType = "list";
}
public void setProdViewGrid(){
    viewType = "grid";
}

1 个答案:

答案 0 :(得分:0)

为了让JSF更改bean中变量“viewType”的值,它必须具有getter(getViewType())和setter(setViewType(...))(或具有公共访问权限)。 / p>