거대한 프로젝트의 경우 웹 페이지에 여러 양식을 작성해야합니다. 세부 사항으로 갈 수는 없지만 요청 된 양식 목록 구조가 있다고 가정하십시오. ,h : 양식 내부 UI : 반복이 예상대로 작동하지 않음
@ManagedBean
@SessionScoped
public class Debug {
private final List<DebugBean> list;
public Debug() {
super();
this.list = new ArrayList<DebugBean>();
this.list.add(new DebugBean("label 1", "value 1"));
this.list.add(new DebugBean("label 2", "value 2"));
}
public String submit() {
LOGGER.info("list = " + this.list.toString());
return "";
}
public List<DebugBean> getList() {
return this.list;
}
}
콩 DebugBean은 간단 두 변수 레이블과 값, 모두 문자열, 그 세터와 게터를 포함
인 Mojarra의 JSF 2.2.5을 사용하여 콩 관리 주어진.
이제 XHTML 페이지:
<h:body style="height: 100%">
<ui:repeat value="#{debug.list}" var="x">
<h:form>
<h:panelGrid columns="2">
<h:outputText value="#{x.label}" />
<h:inputTextarea value="#{x.value}" />
</h:panelGrid>
<h:commandButton action="#{debug.submit}" value="ok" />
</h:form>
</ui:repeat>
</h:body>
문제는 첫 번째 값을 변경입니다. 두 번째 것을 변경하면 로거가 나에게 예상대로 새 값을 제공합니다. 하지만 첫 번째 것을 변경하면, 로거는 나에게 이전 목록을 제공합니다. 마치 변경없이 전체 양식을 다시로드 한 것처럼 말입니다. 여기에 어떤 문제가 있으며 무엇보다 중요합니다. 작동하게하려면 어떻게해야합니까?