【发布时间】:2012-05-25 13:38:41
【问题描述】:
JSF:
<h:form>
<h:inputHidden id="promo" value="promo-motopair"/>
<h:commandButton value="#{m.buy}" action="#{showProducts.buy}"/>
</h:form>
<h:form>
<h:inputHidden id="promo" value="promo-northduck"/>
<h:commandButton value="#{m.buy}" action="#{showProducts.buy}"/>
</h:form>
Bean,获得点击的id:
String promo = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("promo");
无法得到它,因为id 等于promo,但前面有前缀,看起来像j_idt40:promo
如何处理这种情况?
我需要通过key 获取项目。我想,那个键(在inputhidden 中是id)应该是单一的。我应该只依赖promo 值。
【问题讨论】:
-
@Ravi:在 OP 的情况下,这将导致 invalid HTML。
-
我看到的主要问题是,我多次使用相同的 id。从另一边我可以使用
containsKey()或values()方法,但看起来不优雅恕我直言 -
@BalusC,是的,我没有看到有两个组件具有相同的 ID。
-
@Ravi:整个问题就是关于这个,你怎么会错过这个? ;)