JSF 1.1-不刷新页面调用backing bean的动作方法(通过ajax/javascript)

Posted

技术标签:

【中文标题】JSF 1.1-不刷新页面调用backing bean的动作方法(通过ajax/javascript)【英文标题】:JSF 1.1-Calling action method of backing bean without page refresh(through ajax/javascript) 【发布时间】:2014-12-30 05:52:37 【问题描述】:

我正在使用 JSF1.1。在我的 jsf 应用程序中,我有一个选择下拉列表和这个下拉列表的 onChange 我正在调用一个 javascript 函数(changeCompany) 它执行按钮单击事件(在下面的代码中 sn-p currCompany 是隐藏的命令按钮)以触发支持 bean 的操作方法。但是通过这样做,网页会因为这个点击事件而被刷新。 所以我想在不刷新页面的情况下调用支持 bean 的操作方法(通过 JSF 1.1 中的 javascript 或 ajax)。我必须严格使用带有 IE-8 和 chrome-version 28 的 JSF1.1。 有没有办法通过javascript调用支持bean的动作方法? 我如何使用 ajax 来实现这一点(据我所知,jsf 1.1 对 ajax 没有/有限的支持(使用 IE8 和 chrome-28))? 请建议。

<h:selectOneMenu value="" id="currCompany" onchange="changeCompany();">
  </h:selectOneMenu>

function changeComapny()

document.getElementById("abc:xyz:currCountry").click();


<h:commandButton value="" id="currCountry" action="#BeanClass.ActionMethod"/>

【问题讨论】:

【参考方案1】:

我会推荐看看这个以前的帖子:Ajax with Jsf 1.1 implementation

不过最好的解决方案是迁移到更新版本的 JSF。

【讨论】:

感谢 Thrax 的回复,我们可以在 IE-8 和 chrome-version 28 中使用 a4j 库吗? @user3498659 从文档来看,它支持 IE 5-7。与 Chrome 无关。请参阅:ac.aua.am/Cis/Avsl/Literature/Jsf/ebooks/Ajax4JSF/…。但我会说它会非常兼容。

以上是关于JSF 1.1-不刷新页面调用backing bean的动作方法(通过ajax/javascript)的主要内容,如果未能解决你的问题,请参考以下文章

多次调用 JSF Backing Bean 构造函数

JSF 中的取消按钮导航

当页面返回不刷新时进行强制刷新

java jsf 如何去重新加载bean

如何从richfaces弹出窗口刷新父jsf页面

CSS样式有时仅在jsf页面上的页面刷新后应用?