0

我有一个带有两个命令链接按钮和两个输出面板的 .xhtml。一切都在同一个表格中。当我单击命令链接时,为什么我需要明确说明需要呈现哪些输出面板?如果没有指定,是否不应该根据 Spec 的以下描述重新构建整个视图(或)我是否在混合东西?

以及我们是否真的需要设置action="navigation-rule"何时要在同一视图中刷新组件?

Link controls are typically used to perform complete form submissions for data storing.
As a consequence, the <a4j:commandLink> component has the execute="@form" setting by default. 

非常感谢任何输入。

这是供参考的代码:

 <h:form>
        <div>
            <a4j:outputPanel layout="block">
                <!--Tab1 -->
                <a4j:commandLink
                    id="homeTabLinkId"
                    value="Tab1"
                    actionListener="somelistener" render="contentDIVId">
                    <h:outputText value=""/>
                </a4j:commandLink>
                <!--Hosts Tab -->
                <a4j:commandLink 
                    id="hostsTabLinkId"
                    value="Tab2"
                    actionListener="anotherlistener" render="contentDIVId">
                    <h:outputText value=""/>
                </a4j:commandLink>


            </a4j:outputPanel>
        </div>

        <a4j:outputPanel layout="block" id="contentDIVId">
            <!-- dynamically gets src based on tab click -->
            <ui:include id="tabBodyPanel" src="elexpression"/>
        </a4j:outputPanel>

        <a4j:outputPanel layout="block" id="anotherdiv">
            <h:outputText value="Inside second div"/>
        </a4j:outputPanel>

    </h:form> 
4

1 回答 1

3

如果没有指定,是否不应该根据 Spec 的以下描述重新构建整个视图(或)我是否在混合东西?

这仅适用于同步请求。替换<a4j:commandLink><h:commandLink>,您将获得所描述的行为。


当我们想在同一个视图中刷新组件时,我们真的需要设置 action="navigation-rule" 吗?

不,action 方法只能返回nullor void。否则,视图将被重新创建,如果您在视图上查看了作用域 bean,那么这不是您想要的。

于 2012-05-04T21:04:22.863 回答