gpt4 book ai didi

java - JSF 中的重新渲染属性

转载 作者:行者123 更新时间:2023-12-05 08:01:11 24 4
gpt4 key购买 nike

我有如下表格:

<h:form id="x" prependId="false">

<h:dataTable id="v" value="#{userBean.cdManagerCollection}" var="cd"
border="1">

<f:facet name="header">
Test Table
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:inputText id="title" value="#{cd.title}" />
</h:column>
</h:dataTable>

<input type="hidden" id='btnName' name="btnName" value="Apply"/>
<a4j:commandButton id="btn" value="SUBMIT" action="#{userBean.processCD}" reRender="x"/>

</h:form>

我的问题是,当我使用 a4j:command 按钮提交表单然后重新呈现时,请求参数(在本例中为隐藏的 btnName)是否可供访问? (意味着通过 facescontext 环境变量?)

基本上,我需要根据请求参数在返回 ${userBean.cdManagerCollection} 时决定数据。

最佳答案

如果您的 <input> 值元素当然可以作为 HTTP 请求的属性使用。换句话说,该参数在您的操作方法中将作为字符串可见 userBean.processCD通过调用:

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("btnName");

如果您想采用我强烈推荐的 JSF 方法,您可以绑定(bind) value <h:inputHidden> 的属性标记到 bean 属性,以便 JSF 可以自己进行输入转换(验证、转换、属性设置等):

<h:inputHidden id="btnName" value="#{userBean.btnName}"/>

使用托管 bean 的属性:

private String btnName;//getter+setter

关于java - JSF 中的重新渲染属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542517/

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