gpt4 book ai didi

java - 两个 in a , 一个有效,一个无效

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:13 25 4
gpt4 key购买 nike

我正在尝试使用一个 <h:commandButton>用ajax检查一些条件,如果可以的话其他<h:commandButton>没有ajax就会显示。使用 ajax 的一个工作得很好,但另一个则不行,尽管我已经指定了到另一个页面的返回字符串。我不明白为什么失败,语法都是正确的。

<h:form>
<label style="font-weight: bold">Room Code: </label>#{r.code}
<label style="font-weight: bold">Room Type: </label>#{r.roomType}
<label style="font-weight: bold">Price Per Day: </label>#{r.pricePerDay}
<br/>
<h:commandButton value="Check" action="#{bookingController.checkRoom}">
<f:param name="selectedRoomID" value="#{r.id}"/>
<f:ajax execute="@form" render="informer"/>
</h:commandButton>
<h:panelGroup id="informer">
<h:outputText value="#{bookingController.message}" rendered="#{bookingController.checked}"/>
<h:commandButton value="Book now!" action="#{bookingController.doBook}" rendered="#{bookingController.goodToBook}">
<f:param name="selectedRoomID" value="#{r.id}"/>
<f:param name="customerID" value="#{customerLoginController.customerUser.customer.id}"/>
</h:commandButton>
</h:panelGroup>
</h:form>

最佳答案

你有一个rendered第二个 <h:commandButton> 上的属性。如果它评估 false在处理表单提交期间,不会调用按钮的操作。如果 bean 是请求范围的,并且您没有为 rendered 保留相同的条件,就会发生这种情况。表单提交请求期间的属性与显示表单期间的属性相同。

有几种方法可以解决这个问题。由于您使用的是 JSF 2.0,因此最好将 bean 放入 view 范围内。

@ManagedBean
@ViewScoped
public class BookingController {
// ...
}

另请参阅:

关于java - 两个 <h :commandButton> in a <h:form>, 一个有效,一个无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6091070/

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