2014-05-25 2 views
0

.xhtml 페이지에서 Java 클래스에 매개 변수로 개체를 보내고 싶습니다. 내가 가진 내 빈에서primefaces 페이지에서 java bean 클래스로 매개 변수를 성공적으로 전송하지 못했습니다.

<p:dataGrid value="#{userRequestBean.userActiveRequests}" var="userActiveRequest"> 
      <h:panelGrid> 

       <h:commandButton value="Cancel" actionListener="#{userRequestBean.cancelRequest()}"> 
        <f:setPropertyActionListener target="#{userRequestBean.request}" 
          value="${userActiveRequest}" /> 
       </h:commandButton> 

      </h:panelGrid> 
     </p:dataGrid> 

:

나는 다음과 같은 primefaces의 데이터 그리드가

@ManagedBean(name = "userRequestBean") 
@SessionScoped 
public class UserRequestBean implements Serializable { 
    private TRequest request = new TRequest(); // plus get and set methods 

    public void cancelRequest(){ 
     System.out.println("Author name: " + request.geId()); 
    } 
} 

을하지만 난 버튼을 누를 때 나에게 NullPointerException가 슬로우하는. 어떻게 내가 이것을 깨달을 수 있을지 생각해? 미리 감사드립니다!

답변

1
<h:commandButton value="Cancel" actionListener="#{userRequestBean.cancelRequest()}"> 
        <f:setPropertyActionListener target="#{userRequestBean.request}" 
          value="${userActiveRequest}" /> 
       </h:commandButton> 

Primefaces 버튼 대신 standard-jsf commandButton을 사용하고 있습니까? 우리가 무슨 짓을

<p:commandButton value="Cancel" action="#{userRequestBean.cancelRequest()}"> 
        <f:setPropertyActionListener target="#{userRequestBean.request}" 
          value="${userActiveRequest}" /> 
       </p:commandButton> 

:

는이 작업을 사용하려면?
  • 이 Primefaces있는 명령
  • 사용 action 대신 actionListener로 변경 (ActionListener 방법은 parameterActionEvent이 있어야합니다).

나는 위의 도움이되기를 바랍니다.

+0

정말 고마워요 !!! – Tot

0

@ SessionScoped 대신 @ViewScoped를 사용해보세요. 또한 관리 빈의 request 속성에 대한 getter 및 setter를 만들어야합니다.

+0

이것은 범위와는 아무런 관련이 없습니다. – Makky

관련 문제