我使用数据表动态添加/删除行。删除行时遇到问题。实际上,我想删除一行而不验证字段。同时,我需要更新我的模型,因此使用immediate="true"
是不合适的(http://blog.jerryorr.com/2012/01/jsf-and-immediate-attribute-command.html)。
这是我的代码:
<h:dataTable id="tbl" value="#{bean.list}" var="l" style="width: 100%;">
<h:column>
<h:panelGrid styleClass="dr-pnl" style="width: 100%;">
<h:outputLabel for="name">Name</h:outputLabel>
<h:inputText id="name" value="#{l.name}"></h:inputText>
<h:commandButton id="delete" value="Delete">
<f:ajax listener="#{bean.delete(l)}" execute="@form" render="@form" />
</h:commandButton>
</h:panelGrid>
</h:column>
<f:facet name="footer">
<h:commandButton id="add" value="Add">
<f:ajax listener="#{bean.add}" execute="@form" render="tbl" immediate="true" />
</h:commandButton>
</f:facet>
</h:dataTable>
为了解决这个问题,我认为在调用方法bean.delete(l)
之前我应该使用Javascript来删除字段的内容。我怎么能这样做?
感谢您的帮助!