ui 中的输入绑定:jsf 中的重复

2024-03-20

我正在使用facelets jsf 2.0和primefaces 3.0.M2组件库。 我正在尝试实现动态行数,包括发生数据表选择时填充的输入字段。

每当进行选择时,动态行都会使用输入字段正确生成,但在后续选择的第一个选择之后,动态行计数会正确更改,但输入字段不会更新并继续显示第一个选择的输入。

这是我在facelet中迭代列表的方法;

<ui:repeat value="#{goalEntranceBean.selectedCard.parameterList}" var="prmBean" >
        <li><h:outputText value="#{prmBean.lookUp.value}"/></li>
        <li>

            <h:outputText value="Weight:"/>
            <p:inputText id="wx" required="true" value="#{prmBean.weight}">
            </p:inputText>
            <h:outputText value="Percent:"/>
            <p:inputText required="true" value="#{prmBean.percent}">
            </p:inputText>
        </li>

    </ui:repeat>

我的 bean,我在其中获取卡片列表并使用数据表中的行选择事件设置所选卡片。

@ManagedBean(name = "goalEntranceBean")
@ViewScoped
public class GoalEntranceAction implements Serializable {

private List<ScoreCard> personalCards = new ArrayList<ScoreCard>();

    private ScoreCard selectedCard = new ScoreCard();
......
}

当我在调试模式下检查时,我可以看到真实的列表,但在屏幕中元素不会改变。


这是一个常见问题(每隔几天就会有人问)。长话短说, ui:repeat 内的输入不起作用,期间。

这是 JSF 的一个问题,一个长期存在的、著名的问题。也许它会被修复。也许不是,似乎没有人真正关心(我的意思是 - 输入?在... ui:repeat?如此疯狂的场景!)。

一个快速修复方法是使用 h:dataTable,可能不合时宜地滥用了 css,使其看起来像一个列表。一个长期的修复方法是使用来自不同库的迭代器。 Primefaces 有一个可以渲染无序列表的元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ui 中的输入绑定:jsf 中的重复 的相关文章

随机推荐