相关疑难解决方法(0)

我可以将哪些值传递给f:ajax标记的event属性?

我试图找到一个可以传递给f:ajax标签的属性"event"的所有可能值的列表.

我知道我也可以从我的.js文件中传递函数名称,但我需要的只是JSF附带的函数名称.

我只知道点击鼠标悬停和键盘,但我相信还有更多.只是不知道在哪里找到它们.

ajax jsf jsf-2

50
推荐指数
1
解决办法
10万
查看次数

当我想要ajax-update时,为什么我需要在另一个组件中嵌入一个带有render ="#{some}"的组件?

所以我找到了一些接近这个的答案,我发现足以解决我遇到的问题.但即使这样,我也很好奇了解这方面的运作方式.让我用一个例子来说明:

我有一个.xhtml看起来像这样(缩短)的facelet 页面.

<h:form id="resultForm">

    <h:panelGroup class="search_form" layout="block">
        <h:inputText id="lastname" value="#{search.lastname}"/>
        <h:commandButton action="#{search.find}" value="Find">
            <f:ajax execute="lastname" render="resultDisplay"/>
        </h:commandButton>
    </h:panelGroup>

    <h:dataTable value="#{search.searchResults}" var="results" id="resultDisplay"
            rendered="#{!empty search.searchResults}">  
        <h:column>
            #{results.field}
        </h:column>
    </h:dataTable>

</h:form>
Run Code Online (Sandbox Code Playgroud)

现在,为了突破性,我不会发布所有的支持bean代码,但我有这样的东西:

public void find() {
    searchResults = setResults(true);
}
Run Code Online (Sandbox Code Playgroud)

哪里searchResultsArrayList<Objects>.在搜索之后,它不是null - 在多个测试中检查(可以为null,但不在我正在进行的测试中).

现在.这不起作用.

但是,如果我将dataTable内部嵌套在另一个内部panelGroup,那么它会起作用.

<h:panelGroup id="resultDisplay">
    <h:dataTable value="#{search.searchResults}" var="results"
        rendered="#{!empty search.searchResults}">  
        <h:column>
            #{results.field}
        </h:column>
    </h:dataTable>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

现在,这种变化可以让一切正常.我对此感到满意......但我想我也在寻求一些理解.有关为什么我必须嵌套这些组件的任何见解?我肯定错过了一些东西!

jsf facelets jsf-2 conditional-rendering ajax-update

32
推荐指数
1
解决办法
2万
查看次数

JSF:动态更改表单

我想构建一个表单,根据其他组件的状态动态更改可见的组件.

例如......有一些文本框和一些复选框,如果用户激活某个复选框,则应显示一堆其他输入元素.

我可以使用JSF 2.0 + Tomahawk执行此操作,还是必须使用另一个库来执行此操作?我怎么能这样做?没有AJAX,这将无法工作,是吗?

提前致谢!

forms ajax jsf tomahawk jsf-2

0
推荐指数
1
解决办法
9738
查看次数