Rich选项卡面板有一个服务器切换模式,当使用这个模式时会发生什么,也就是说如果我在每个选项卡中放置一个表单,我希望只发布此表单并且不会调用任何操作。但是action = "#{licenseIMC.downloadRequest}"
如果我将所有标签面板放在一个表单中,会发生什么。
<rich:tab id="updateLicensesTab" label="Update licences">
<h:form id="updateLicensesForm">
<h:outputText value="Request file" />
<a4j:htmlCommandLink id="request"
action="#{licenseIMC.downloadRequest}"
value="Generate License Request"
title="Generate License Request" />
答案 0 :(得分:0)
如果从一个标签切换到另一个标签,则切换模式仅对最新情况有影响。服务器模式意味着每次切换时都会重新加载选项卡(和页面)。 ajax模式意味着它将重新加载选项卡而不是页面。客户端模式意味着它不会从服务器重新加载数据。服务器和ajax模式仅在基础数据可能已更改且您希望在切换选项卡时反映此更改时才有意义。
如果您将所有标签放在一个表单中,那么如果您进行表单提交(例如执行htmlCommandLink),则会提交所有标签。
答案 1 :(得分:0)
回答你的问题以及你对morja的回答: 命令按钮和标签内链接的各个操作不会被触发。但是,标签标记中指定的操作将被触发。
在您的示例中,htmlCommandLink
不会被触发,downloadRequest()
也不会被调用,但如果你有:{/ p>
<rich:tab id="updateLicensesTab" label="Update licences" action="#{licenseIMC.tabChange}">
<h:form id="updateLicensesForm">
然后将调用tabChange
函数。