2014-09-29 1 views
-1

JSF2 및 ajax에서 작업하면서 제출하고자하는 JSF 컨텍스트의 $ .ajax URL 속성 값을 알아낼 수 없습니다 같은 페이지에 머무르는 양식을 업데이트하고 div를 업데이트하십시오.

다음과 같습니까?

((HttpServletRequest) facesContext.getExternalContext().getRequest()).getContextPath()` 

답변

0

제 의견으로는이 부분 (div)을 업데이트해야하는 경우 backing bean에 값을 전달하고 매개 변수를 설정해야합니다.

http://www.mkyong.com/jsf2/4-ways-to-pass-parameter-from-jsf-page-to-backing-bean/

 <p:commandButton action="#{bean.setId}" update="div"> 
      <f:attribute name="id" value="12" />    
     </p:commandButton> 

또 다른 방법은 플래시를 사용하고 볼이 참조 : 당신의 ControllerClass/빈에서

<div id="yourDivId"> 
    <h:outputText value='#{yourControllerClass.yourAttribute}'></h:outputText> 
</div> 
<h:form> 
     <h:commandButton value="update"> 
       <f:ajax execute="@form" listener="#{yourControllerClass.updateAttribute}" 
         render=":yourDiveId"> 
       </f:ajax> 
     </h:commandButton> 

</h:form> 

: https://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/context/Flash.html

+0

감사합니다 누누,하지만 난 새로운를 추가 할 trynig 해요 JSF2 commandButoon. – farouk

0

당신이이 같은 형태를 가지고 있다고 할 수 있습니다 :

public final void updateAttribute(AjaxBehaviorEvent event){ 
    // do what ever you want, get values, set another values, after that your Div will be auto updated 
} 

이렇게하면 아약스 매개 변수 또는 URL 등을 신경 쓸 필요가 없습니다.

편집 :

당신이 요청 URL에서 paramater을 받기를 원한다면, 당신은 이런 식으로 그것을 얻을 수 있습니다

String paramVal = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(key); 
+0

f : ajx 태그를 사용하면 좋습니다. 어떻게 내 자신의 ajax 처리기 클래스 f : ajax와 동일한 작업을 수행하는 구현하려고? JSF가 URL 아약스 속성 – farouk

+0

@farouk을 처리하는 방법을 알고 싶다면이 방법을 사용하고 싶습니다. 복잡한 접근 방법이지만 요청 URL에서 param을 얻으려면 내 업데이트를 참조하십시오! –

+0

Rami에게 감사드립니다. 너무 도움이됩니다. 다른 방법으로, 나는 f : ajax를 사용하지 않고 JSF2에서 폼을 submit 할 수있다. 양식 매개 변수를 가져 와서 FacesServlet으로 보내거나 다른 것을 필요로합니까? – farouk

관련 문제