사용자 생성을위한 양식이 포함 된 XHTML 페이지가 있다고 가정 해 보겠습니다. 필요한 모든 필드와 "저장"버튼이 있습니다. 이제 내 앱의 다른 곳에서 사용자 정보를 편집 할 수있는 옵션이 있습니다. 이 작업을 수행하는 데 동일한 페이지를 다시 사용하고 싶습니다. 그러나 어떻게? 해당 페이지에 사용자 정보를 전달하려면 어떻게해야하며 "저장"작업을 변경하여 원하는 페이지로 이동하려면 어떻게해야합니까? 깨끗한 솔루션 (모범 사례?)을 찾고 있는데 더러운 솔루션이 아닙니다.JSF 1.2 (Facelets)에서 작성하고 편집 할 때 동일한 페이지 사용
2
A
답변
0
입력란을 Facelet 태그 파일에 넣을 수 있습니다. 기본 킥오프 예 :
/tags/user.xhtml
<ui:composition
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:outputLabel for="name" value="Name" />
<h:inputText id="name" value="#{user.name}" />
<h:message for="name" />
<br />
<h:outputLabel for="email" value="Email" />
<h:inputText id="email" value="#{user.email}" />
<h:message for="email" />
<br />
<h:outputLabel for="city" value="City" />
<h:inputText id="city" value="#{user.city}" />
<h:message for="city" />
</ui:composition>
는
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/META-INF/user.taglib.xml</param-value>
</context-param>
(메모를 다음과 같이 여러있을 때, /WEB-INF/web.xml
에 등록 된 /META-INF/user.taglib.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://example.com/jsf/facelets</namespace>
<tag>
<tag-name>user</tag-name>
<source>tags/user.xhtml</source>
</tag>
</facelet-taglib>
에서 정의 세미콜론 사용 ;
으로 구분)
마지막으로 메인 페이지 템플릿에서 선언하십시오.
<ui:composition
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:my="http://example.com/jsf/facelets"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:form>
<my:user user="#{register.user}" />
<h:commandButton value="Create" action="#{register.create}" />
</h:form>
</ui:composition>
및
는<ui:composition
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:my="http://example.com/jsf/facelets"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:form>
<my:user user="#{editor.user}" />
<h:commandButton value="Save" action="#{editor.save}" />
</h:form>
</ui:composition>
<my:user>
의 user="#{whatever}"
속성 태그 파일의 #{user}
(즉이 키와 속성 명으로 사용할 수)가된다.
관련 문제
- 1. jsf + RichFaces + Facelets에서 패널을 동적으로 표시
- 2. JSF 1.1/Facelets에서 EL 메서드를 오버로드 할 수 있습니까
- 3. JSF 1.2 NavigationHandler 커스텀 내비게이션
- 4. JSF : 다른 결과에 대해 동일한 JSP 페이지 사용
- 5. JSF 1.2 + Spring 2.5. 어떻게?
- 6. JSF 1.2 : ui : 매개 변수 포함
- 7. com.sun.faces.enableRestoreView11Compatibility JSF 1.2 대신 무엇을 사용합니까?
- 8. 단추를 누를 때 JSF 페이지 값이 지워짐
- 9. JSF 1.2 돌아 가기 하이퍼 링크
- 10. JSF 2.0 사용자 편집
- 11. JSF 페이지 탐색
- 12. JSF 1.2 합격 페이지에 문제가리스트에게 나는이 옵션을 선택해야
- 13. java/jsf 리디렉션 페이지
- 14. JSF 페이지 변환 오류
- 15. Facelets의 JSF, actionlistener
- 16. JSF 페이지 (폼 기반)에 로그인하십시오.
- 17. sendRedirect를 수행 할 때 게시물 사용
- 18. UITextAutoCorrectionType을 토글 할 때 UITextField를 편집 할 때
- 19. Netbeans에서 JSF 1.2 및 JPA를 사용하는 방법은 무엇입니까?
- 20. JSF - xhtml없이 페이지 제공
- 21. JSF 1.2 사용자 정의 컴포넌트 - Backing Bean의 바디 컨텐츠
- 22. Ajax를 사용하여 jsf 액션 메소드 (JSF 1.2)를 호출하는 방법은 무엇입니까?
- 23. Django : 편집 또는 추가 할 때 인라인에 다른 템플릿 사용
- 24. Weld CDI를 jboss 6의 JSF 1.2 EJB 응용 프로그램에 통합하십시오.
- 25. JSP : 페이지 전체에서 동일한 Java 객체 사용
- 26. HTML 동적 페이지 편집
- 27. JSF 1.2 응용 프로그램이 GlassFish v3과 호환되지 않습니다.
- 28. JSF 페이지 조각 캐싱
- 29. 효율적인 JSF 페이지 매기기
- 30. CodeIgniter는 -> 페이지 편집
물론 답변을 주셔서 감사합니다. 이전에 이미 사용자 정의 구성 요소를 사용해 왔지만 아직 한 가지 문제가 있습니다. 두 페이지를 작성해야합니다. 하나는 편집 용이고 다른 하나는 사용자 작성입니다. 한 페이지 만 쓸 수있는 깨끗한 솔루션을 찾고 있습니다. BTW : Facelet 구성 요소에 대한 인터페이스를 지정하는 방법이 있습니까? – Arek