我希望有一个带有JSF(Primefaces)的表单,以便在保存时需要一个必填字段(用户名是这个例子)。您还可以为每个用户添加书籍,用户可以拥有0 ... n本书。如果您添加新书,则需要为其提供作者和姓名。
我尝试使用下面的代码,并尝试了许多方法Partial Processing的Primefaces。但是,它无法正常工作。有时我必须输入所需的用户名来添加书籍或保存它根本不起作用。有没有办法,只在保存时检查所需的用户名并忽略所需的作者和书名?
这是示例的代码:
<h:form>
<p:outputPanel id=„userdetails“>
<p:inputText id="name" value="#{bean.name}" />
</p:outputPanel>
<p:inputText id="txt_title" value="#{createBookBean.book.title}"
required="true" />
<p:inputText id="txt_author" required="true"
value="#{createBookBean.book.author}" />
<p:commandButton value="Reset" type="reset" />
<p:commandButton id="btn_add" value="Add"
update="books msgs @parent" action="#{createBookBean.reinit}">
<p:collector value="#{createBookBean.book}"
addTo="#{createBookBean.books}" />
</p:commandButton>
<p:outputPanel id="books">
<p:dataTable id="booksTable" value="#{createBookBean.books}"
var="book">
<h:outputText value="#{book.title}" />
<h:outputText value="#{book.author}" />
<p:column>
<p:commandLink value="Remove" update=":form:books"
process=":form:books">
<p:collector value="#{book}"
removeFrom="#{createBookBean.books}" />
</p:commandLink>
</p:column>
</p:dataTable>
</p:outputPanel>
<p:commandButton value="Save" update="msgs" process="@form"
action="#{bean.save()}"></p:commandButton> // button to save, and ignore required bookname
</h:form>
//按钮保存,并忽略所需的书名
答案 0 :(得分:3)
为此,您可以使用immediate
的{{1}}属性:
commandButton