【发布时间】:2018-07-26 17:14:58
【问题描述】:
我目前正在使用 JSF 和 PrimeFaces 在 Java8 中开发一个 Web 应用程序。我成功地使用 ui:repeat 打印了第一个字符串列表,但我无法检索用户的答案(我想将其添加到 bean FormulaireComplete 的列表响应中)。
我必须承认我不知道如何在 a.xhtml 中初始化对象列表。它可能来自这里,但我真的不确定。我在 stackoverflow 上找到了一些示例,但该列表已经创建了很多元素。
将包含响应的 FormulaireComplete 类(我没有将 getter 和 setter 放在这里,但它们当然存在于代码中):
@Named
@RequestScoped
public class FormulaireComplete implements Serializable {
private List<Reponse> reponses;
public FormulaireComplete() {
super();
reponses = new ArrayList<>();
}
//validate form
public String complete() {
ReponsesDAO.create(reponses);
return "../admin.xhtml?faces-redirect=true";
}
}
<div id="postFormulaire" class="ui-g">
<ui:repeat id="repeater" value="#{utilisateur.questionnaire.questions}" var="question" class="ui-g-12">
<div class="ui-g-12"><b>#{question.titreQuestion}</b> #{question.question}</div>
<div class="ui-g-1"/>
<p:inputTextarea class="ui-g-9" id="reponse" value="#{formulairecomplete.reponses.commentaire}" label="f"></p:inputTextarea>
<p:selectOneMenu id="onemenu" class="ui-g-1" style="max-height:45px" value="#{formulairecomplete.reponses.note}" >
<f:selectItem itemValue = "NA" itemLabel = "NA" />
<f:selectItem itemValue = "1" itemLabel = "1" />
<f:selectItem itemValue = "2" itemLabel = "2" />
<f:selectItem itemValue = "3" itemLabel = "3" />
<f:selectItem itemValue = "4" itemLabel = "4" />
<f:selectItem itemValue = "5" itemLabel = "5" />
<f:selectItem itemValue = "6" itemLabel = "6" />
<f:selectItem itemValue = "7" itemLabel = "7" />
<f:selectItem itemValue = "8" itemLabel = "8" />
<f:selectItem itemValue = "9" itemLabel = "9" />
<f:selectItem itemValue = "10" itemLabel = "10" />
</p:selectOneMenu>
<div class="ui-g-1"/>
<div class="ui-g-2"/><p:separator id="separator" class="ui-g-8" /><div class="ui-g-2"/>
</ui:repeat>
<div class="ui-g-5"/><h:commandButton id="validerForm" class="ui-g-2" value="Valider Formulaire" action="#{formulairecomplete.complete}"></h:commandButton><div class="ui-g-5"/>
</div>
【问题讨论】:
标签: jsf primefaces javabeans