h:commandButton 无法向支持 bean 提交参数
我想向我的支持 bean 提交一个键值,以便我知道集合中的哪个用户正在尝试更新。我想我需要使用 f:param 来做到这一点,但不知何故它不起作用。如果我使用 af:commandButton 而不是 h:commandButton,它将很好地提交值。
这是我的按钮:
<h:commandButton styleClass="cntctmBtn" value="Update" action="#{pullForm.updateDependent}">
<f:param name="selectedIndex" value="#{loop.index}" />
<f:param name="selectedEDI" value="#{eachOne.identifier.dodEdiPnId}" />
</h:commandButton>
这是我尝试获取提交的值的方法。
FacesContext context = FacesContext.getCurrentInstance();
Map map = context.getExternalContext().getRequestParameterMap();
String edi_tmp = (String)map.get("selectedEDI");
但我得到了 ArrayIndexOutOfBound 异常,请帮忙,谢谢。
I would like to submit a key value to my backing bean so that I know which person within a collection user trying to update. I think I need to used f:param to do so, but somehow it does not work. It will submit the value just fine if I use af:commandButton instead of h:commandButton.
Here is my button:
<h:commandButton styleClass="cntctmBtn" value="Update" action="#{pullForm.updateDependent}">
<f:param name="selectedIndex" value="#{loop.index}" />
<f:param name="selectedEDI" value="#{eachOne.identifier.dodEdiPnId}" />
</h:commandButton>
and here is how I am trying to get my submitted values out.
FacesContext context = FacesContext.getCurrentInstance();
Map map = context.getExternalContext().getRequestParameterMap();
String edi_tmp = (String)map.get("selectedEDI");
But I got the ArrayIndexOutOfBound Exception, please help, thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果按钮位于
或任何其他UIData
组件,那么您应该通过UIData#getRowData()
或DataModel#getRowData()< /代码>
。无需将行标识符作为参数等传递。
例如
保持
简单。
另请参阅:
If the button is inside a
<h:dataTable>
or any otherUIData
component, then you should be retrieving the "current" row object byUIData#getRowData()
orDataModel#getRowData()
. No need to pass the row identifier around as parameter or so.E.g.
with
Keep it simple.
See also: