javascript - 在 jsf/primefaces 组件中评估 javascript 结果

标签 javascript jsf primefaces

我想知道,如何在 jsf/primefaces 和 javascript 之间建立连接。

我想在用户键入空格后在我的支持 bean 中调用一个监听器。 为了确定按下了哪个键,我得到了一个 javascript 函数

<script type="text/javascript">
   function displayunicode(e){
   var unicode=e.keyCode? e.keyCode : e.charCode
   return unicode
}
</script>

如果按下“空格”,则“unicode”的值为 32。

现在我使用“onkeyup 事件”从 primefaces 组件调用此函数

<h:form>
...

<p:inputTextarea id="inputBeschreibung" 
                                    value="#{bean.value}"
                                    rows="10" 
                                    cols="50"
                                    queryDelay="300" 
                                    maxlength="500"
                                    onkeyup="displayunicode(event); this.select()">

                    </p:inputTextarea> 

...
</h:form>

我不想在我的 primefaces 组件中使用这样的东西:

if(displayunicode(event); == 32) callBacking bean 方法。

我不知道该怎么做。

最佳答案

从 JavaScript 到 bean

要从 JavaScript 触发支持 bean 方法,您可以使用 p:remoteCommand 组件:https://www.primefaces.org/showcase/ui/ajax/remoteCommand.xhtml

这是来自 PrimeFaces user's guide 的示例:

<p:remoteCommand name="increment" actionListener="#{counter.increment}"
out="count" />

<h:outputText id="count" value="#{counter.count}" />

<script type="text/javascript">
    function customfunction() {
        increment(); //makes a remote call
    }
</script>

从bean到JavaScript

如果您想要相反的操作,您可以使用 org.primefaces.context.RequestContext 类中的 execute(...) 方法:

RequestContext context = RequestContext.getCurrentInstance();
context.execute("alert('hello from bean');");

关于javascript - 在 jsf/primefaces 组件中评估 javascript 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789476/

相关文章:

css - 当按钮上没有文本时,Primefaces splitButton 呈现问题

jsf-2 - ViewExpiredException:找不到已保存的 View 状态:在 JSF 中提交表单时

javascript - JSF 重定向/从列表中打开多个 url<String>

javascript - Axios 在浏览器的 ESM 包中使用 NodeJS 内置函数,使其不兼容

javascript - 如何在javascript中延迟先前绑定(bind)的事件?

JSF 标签未呈现为 HTML

java - Primefaces ajax 不工作

javascript - 如何重置使用 edit-json-file 编辑的文件

javascript - BxSlider 和 bootstrap 可折叠元素问题

java - 相位监听器和命令按钮