this과 같은 비슷한 질문을 발견했습니다. 그러나이 방법이 너무 많아서 혼란 스럽습니다.동적 JSF 양식 필드를 만드는 방법
우리가 읽고있는 파일은 XML
입니다. 이 XML
에는 제공해야하는 양식 필드에 대한 정보가 들어 있습니다.
public class DynamicField {
private String label; // label of the field
private String fieldKey; // some key to identify the field
private String fieldValue; // the value of field
private String type; // can be input,radio,selectbox etc
// Getters + setters.
}
그래서 우리는
List<DynamicField>
있습니다
그래서 우리가 필요로하는 모든 정보를 가지고이 사용자 정의 DynamicField.java
를 만들었습니다.
나는이 목록을 통해 반복하고 다음과 같이 보입니다 있도록 양식 필드를 채우려 :
<h:dataTable value="#{dynamicFields}" var="field">
<my:someCustomComponent value="#{field}" />
</h:dataTable>
<my:someCustomComponent>
다음 적절한 JSF 폼 구성 요소 (예 : 라벨, InputText]를)
을 반환 또 다른 방법은 <my:someCustomComponent>
을 표시하는 것입니다. 그런 다음 양식 요소를 사용하여 HtmlDataTable
을 반환합니다. (나는 이것이 아마도 더 쉬울 것이라고 생각한다).
어떤 접근 방식이 가장 좋습니까? 누군가가 나를 어떻게 만들 수 있는지 보여주는 링크 나 코드를 보여줄 수 있습니까? 나는 완벽한 코드 예제를 선호하며 "javax.faces.component.UIComponent
의 하위 클래스가 필요합니다"와 같은 대답은 아닙니다.
네 번째 대안이 있습니다 : PrimeFaces 확장 구성 요소 : DynaForm (http://www.primefaces.org/showcase-ext/views/home.jsf). 여기에는 몇 가지 한계가 있지만 대부분의 사용자에게는 충분할 것입니다. –
안녕 BalusC, 전 당신의 큰 팬이에요. 나는 당신의 답변을 통해 배우고 있으며 나는 지금 당면하고있는 문제에 대해 토론을하기 위해 당신의 메일 ID를 필요로합니다. 귀하의 ID를 [email protected]으로 보내주십시오. –