我的问题是,在我的主页中,我完全得到变量capacidade
。
然后我在那里c:forEach
和另一个名为"nome"
的字段。
当我尝试保留时,我会填充capacidade
字段,但"nome"
属性来null
。
我看到如果我在c:forEach
之前推他,那就行了。但是我需要在c:forEach
字段后保留他。
<s:decorate template="layout/form.xhtml">
<ui:define name="label">capacidade:</ui:define>
<h:inputText size="50" value="#{home.instance.capacidade}" maxlength="100" required="true" />
</s:decorate>
<a4j:outputPanel id="camposPresenca">
<c:forEach items="#{home.presencas}" var="presenca" varStatus="loop">
<s:decorate template="layout/form.xhtml">
<ui:define name="label">Presença #{loop.index + 1}</ui:define>
<rich:calendar enableManualInput="true" value="#{presenca.dataPresenca}" datePattern="dd/MM/yyyy" oninputblur="validarData(this);" required="true"/>
<h:inputText size="100" value="#{presenca.horarioPresenca}" maxlength="250" />
</s:decorate>
</c:forEach>
</a4j:outputPanel>
<s:decorate template="layout/form.xhtml">
<ui:define name="label">Nome:</ui:define>
<h:inputText size="50" value="#{home.instance.nome}" maxlength="100" required="true" />
有人知道如何解决这个问题吗?
答案 0 :(得分:6)
答案 1 :(得分:0)
看起来home.getInstance()
不是线程安全的。
你可能有更大的问题需要在这里解决,但是一个创可贴解决方案是在进行布局之前保存实例值。
将此代码放在您的代码段之前
<c:set var="home_instance" value = "${home.instance}"/>
将home.instance
替换为home_instance
。