JSF를 피할 수없는 많은 해를 거치면서 마침내 문제가 생겼습니다. JSTL 세계에서는 ${requestScope['big-bad-invalid-name']}
을 사용하여 이름에 하이픈을 사용하여 쉽게 참조 할 수 있습니다. 그러나 그것은 <ui:param>
과 함께 작동하지 않는 것 같습니다 (또는 나는 잘못된 객체로 시작할 것입니다 - 가능성있는 문제).이름에 하이픈이 포함 된 ui : params를 참조하십시오.
<html xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<ui:composition template="/WEB-INF/template/main.xhtml">
<ui:param name="require-data-main" value="/something" />
<ui:define name="content">...</ui:define>
</ui:composition>
</html>
는 슬프게도 나는 #{require-data-main}
는 하이픈으로 인해 흥분하는 것 때문에 내 PARAM을 참조하는 방법을 알아낼 수 없습니다 :
#{param['require-data-main']}
,
#{viewScope['require-data-main']}
,
#{pageScope['require-data-main']}
,
#{applicationScope['require-data-main']}
을 시도했습니다. 내 param은 어디에도 존재하지 않는 것 같습니다.
업데이트 # 1 - 하이픈이없는 다른 매개 변수 (낙타의 경우)를 만들었습니다. 위에서 시도한 것처럼 가치를 해결할 수있는 방법은 없습니다. 그러나 일반 #{requireDataMain}
이 그랬습니다. 이미 많은 수의 JSP가 작성되어 있습니다. 그래서 변수 이름을 바꾸는 데별로 열의가 없습니다. 나는 여전히 이름에 하이픈을 사용하여 param을 참조하는 방법을 찾고 싶습니다.
아무도 내 매개 변수를 보지 못했습니까? param을 검색하는 다른 방법이 있습니까?
귀하의 성명서에 동의하지는 않지만 실제로 질문에 답변하지는 않습니다. 관리 빈은보기와 분리해야하는 논리가있을 때 유용합니다. 제가 말하는 것은 실제로 뷰 자체 (템플릿 측면)에만 적용됩니다. 템플릿을 사용하여 각 뷰에 대한 관리 빈을 필요로하는 것은 끔찍한 일입니다. – nstoddar74
지금 이해하십시오. [이 링크] (http://www.mkyong.com/jsf2/how-to-pass-parameters-to-jsf-2-0-template-file/)를보십시오, 나는 그것이 당신의 질문에 완전히 대답한다고 생각합니다. – Everv0id
여전히 도움이되지 않습니다 (내 질문에 전혀 답하지 않습니다). 나는 'ui : param'요소를 사용하는 방법을 안다. 나는 단지 이름에 하이픈이있는 params를 참조하는 것을 모른다. – nstoddar74