gpt4 book ai didi

javascript - 使用 javascript var 或其他标记值从 JSF 支持 bean 调用函数

转载 作者:行者123 更新时间:2023-11-29 15:36:17 25 4
gpt4 key购买 nike

我在这里看到了很多答案,但没有一个能满足我的要求,我需要以一种不提交表单的方式来做到这一点,并使用隐藏按钮方法(使用 ajax 调用)并调用点击() 事件,方法被调用,但我需要在方法中传递一个 int,我该怎么做?

我可以从 javascript var 或隐藏的输入文本字段中获取 int,只是不知道该怎么做,有人可以帮忙吗?

JSF代码:

<script type="text/javascript" language="javascript">
var position;
</script>

<h:inputHidden id="hiddenHolder" value="#{backingBean.beanPosition}" />

<h:commandButton id="hiddenButton" style="display: none;">
<f:ajax listener="#{backingBean.testMethod(need to send here javascript var or inputHidden value)}"/>
</h:commandButton>

bean 函数;

public void testMethod(int i){
//do stuff
}

当我从没有反射(reflect)在 backingBean 中的 javascript 更改 hiddenHolder 值时,我想它需要提交才能工作。这就是为什么我需要在方法调用中传递值。

最佳答案

When I change the hiddenHolder value from javascript that is not reflected in the backingBean

您确实没有告诉 JSF 处理输入值。 <f:ajax execute>应该用于此,默认为 @this (当前输入或命令组件)。作为<f:ajax>包含在命令组件中,只有命令组件本身(其操作)将被处理。

因此,只需显式指定输入值以及命令组件:

<f:ajax execute="@this hiddenHolder" ... />

或者,如果这一切都在同一个表单中,请使用 @form :

<f:ajax execute="@form" ... />

另见:

关于javascript - 使用 javascript var 或其他标记值从 JSF 支持 bean 调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28326028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com