JSF Ajax Call with JQuery Mobile



这个问题一直困扰着我!!

我已经看到论坛帖子 JSF f:ajax 侦听器未调用,它描述了我的确切问题。

我正在使用JSF 2.0,并且正在使用Jquery移动版作为扩展库。

我实际上已经将代码完全从帖子中复制到我的项目中(如下所示)。

我在会话范围内设置了相同的托管 bean,打印出一行。我可以看到 bean 在第一个输入文本上成功执行,分配了一个 ajax 侦听器

但是,它不适用于按钮。在我的用例中,我希望按钮仅充当调用托管 Bean 的桥梁,因此不希望提交表单。

我完全不知道为什么不执行豆子?

我也没有覆盖JS类,并且仅使用Jquery移动版。

这是对 Jquery 框架的限制吗?或者很可能是我的代码有问题?

S

<h:form id="f1">
<h:panelGroup id="switchSearchTexts">
    <h:inputText accesskey="s" alt="Search" id="searchBoxPeople" title="Search Plebeians" valueChangeListener="#{peopleBean.simplePersonQuery}" size="25" rendered="#{peopleBean.easySearch}">
        <f:ajax render="peopleDataTable" event="keyup" listener="#{contactsBean.morePressed}"
                immediate="true"/>
    </h:inputText>
    <h:inputText accesskey="s" alt="Search First Name" id="searchBoxFN" title="Search First Name" size="25" rendered="#{!peopleBean.easySearch}">
        <f:ajax render="moreButtonAsText" event="keyup" />
    </h:inputText>
</h:panelGroup>
<div id="expandBox">
    <h:inputText id="searchBoxLN" alt="Search Last Name" styleClass="hideToggle" title="Search Last Name" size="25" />
    <h:inputText id="searchBoxAddress" alt="Search Address" styleClass="hideToggle" title="Search Address" size="25" />
</div>
<h:commandButton type="button" styleClass="moreButtonAsText" id="moreButtonAsText" value="More">
    <f:ajax listener="#{contactsBeanFaces.morePressed}"/>
</h:commandButton>
</h:form>

***校正****


抱歉,我认真地尝试了一切! 并发布了错误的代码迭代!
我发现了一个很棒的笔记:http://java.dzone.com/articles/ajax-jsf-joined 这是一个巨大的帮助,但仍然没有成功。我感觉jquery移动正在搞砸事件?

我相信可能还需要按钮在表单中?

对不起,基本问题,但是我是一个Jdeveloper的人,他有点向后学习......DOM和客户端java/html方面的东西在这个应用程序中几乎是不公平的隐藏。我喜欢客户端库,并通过这个过程学到了很多东西......但一个强烈的要求是我可以调用服务器端逻辑!

任何想法将不胜感激!

好的解决了

问题是需要设置托管 Bean 作为输入参数的正确签名事件。通过大量的测试,我试图使用同一个类来获取AjaxBehaviorEvent。就像上一个论坛上的相同示例一样。

当我声明一个 ActionListener 事件(符合按钮 jsf 操作)时,bean 被执行了!

兴奋,并展示新鲜的眼睛可以带来什么!

谢谢丹尼尔!

S

最新更新