我有一个问题要填充JSF passthrough元素的属性占位符:
JSF:
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
<!-- ... -->
<h:selectOneMenu value="#{page.selectedCategoryDataKey}" id="mobileFilters" valueChangeListener="#{page.newCategorySelected}" layout="lineDirection" enhanced="true">
<f:selectItem value="#{null}" itemLabel="#{messages.category_all}"/>
<f:selectItems value="#{manager.dataEntryList}" var="categoryEntry" itemValue="#{categoryEntry.key}"
itemLabel="#{categoryEntry.value.categoryName}"
pt:data-track-name="See-#{categoryEntry.key}"/>
<f:ajax execute="@this" render="@form -list"/>
</h:selectOneMenu>
HTML
<select id="mobileFilterSelectForm-mobileFilters" name="mobileFilterSelectForm-mobileFilters" size="1" onchange="m.ab(this,event,'valueChange','@this','@form list')"> <option value="" selected="selected">All</option>
<option value="Some" data-track-name="See-">Some</option>
<option value="Most Popular" data-track-name="See-">Most Popular</option>
<option value="New" data-track-name="See-">New</option>
<option value="Instant" data-track-name="See-">Instant</option>
</select>
passthrough是否可能不像常规JSF属性那样评估占位符?有任何想法如何评估?
答案 0 :(得分:0)
如果设置execute="@this"
,那么JSF框架将不会执行任何输入字段。将其值设置为@parent
或@form
或列出必要的输入字段ID。渲染只是指定要渲染的组件。执行指定要转换,验证的事件回调参数,调用事件监听器并将其复制到模型。
应该有效:
<f:ajax execute="@parent".../>
答案 1 :(得分:0)
JSF将评估占位符属性中的值表达式。但是,当您在selectItems中使用迭代var时,您发现它无法评估它们;我测试了两个案例。它看起来像一个bug。