JSF页面中使用js函数回调后台bean方法并获取返回值的方法

本文介绍了在JSF项目中,如何使用html组件结合JS调用后台bean方法并获取返回值。方法包括:1) 使用inputHidden标签实现简单数据传递;2) 通过commandButton配合js函数实现异步刷新取值;3) 利用p:remoteCommand达到复杂异步刷新取值,真正解决js调用bean并获取返回值的问题。
摘要由CSDN通过智能技术生成

某些情况下,在开发jsf项目时,我们需要必须使用html组件来达到一些使用Jsf组件不能达到的目标。例如有时候我们希望,当触发某些html 组件或标签时,触发后台方法甚至接收后台方法传过来的返回值。这回让我们很头疼,因为primefaces并没有给我们说如何使用js来调用后台bean 方法。那么,我们就需要结合js和jsf同时才可以达到这个目的。

达到这个目的又两个方法。

1 使用jsf的inputHidden标签

这几乎算不上真正的js调用后台的方法,因为它无法向后抬bean传递值,但是简单的后台向页面传递数据可以使用这个方法

<h:inputHidden id="input" value="#{advancedQueryManager.aliaColums}"></h:inputHidden>

首先,在jsf中触发某个组件时,要及时update这个inputHidden标签,例如下面的组件

<p:selectOneMenu id="module"
    value="#{advancedQueryManager.selectedModule}">
    <f:selectItem itemLabel="----" itemValue="" />
    <f:selectItems value="#{advancedQueryManager.allModule}" />
    <p:ajax event="change" update="input"
        oncomplete="getVlue()"
        listener="#{advancedQueryManager.onModuleChange()}"></p:ajax></p:selectOneMenu>

这里面的组件就会当这个下拉值变化时,就会触发后台的方法

onModuleChange()

当,方法结束后,它会update(刷新)这个

h:inputHidden

如果你的这个inputHidden中的值是随下拉的变化和变化的呢,那么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值