현재 환경은 JRE 1.7, JSF 2.2, Eclipse Luna입니다. 내 응용 프로그램의 특정 페이지 (entity_index.xhtml
)에서 나는 다음 (PrimeFaces) 버튼이 있습니다매개 변수를 전달하는 다른보기로 이동
<p:commandButton value="Details" action="entity_details"
ajax="false" onclick="this.form.target='_blank'">
<f:param name="id" value="#{entity.id}" />
</p:commandButton>
다른 브라우저 탭 (페이지
entity_details.xhtml
). 이것은 많은 버튼 중 하나의 버튼이므로
entity_index.xhtml
페이지에는 세부 정보 버튼이있는 Entity의 인스턴스가 많이 표시됩니다.
이 버튼은 새 탭이 열리고 올바른 페이지 (entity_details.xhtml
)가 표시되지만 엔티티 ID가 세부 정보 페이지 (EntityDetailsMB
)를 처리하는 빈에 도달하지 않는다는 의미에서 작동합니다.
EntityDetailsMB
,에
id
속성에 전달하기 위해 최선을 다하고
<f:metadata/>
요소가 있다고
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui" xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:dsi="http://www.cce.ufpr.br"
template="/private/template/sbadmin.xhtml">
<f:metadata>
<f:viewParam name="id" value="#{entityDetailsMB.id}"/>
</f:metadata>
<ui:define name="content">
<h2 class="page-header">#{entityDetailsMB.entity.name}</h2>
<h:form id="form">
...
</ui:composition>
공지가있는 곳에 다음과 같이 세부 사항 페이지입니다
public Entity getEntity() {
return entityById(id);
}
public Long getId() {
return id;
}
public void setId(Long value) {
id = value;
}
setId()
메서드는 호출되지 않으므로 getEntity()
은 항상 null
을 반환합니다.
작동하지 않으려면 뭔가요?
은 당신이 결과를 확인하고 데이터를 얻을 수있는 PARAM를 추가하려고 않았다 처음 JSF 페이지 –