JSF2 및 ajax에서 작업하면서 제출하고자하는 JSF 컨텍스트의 $ .ajax URL 속성 값을 알아낼 수 없습니다 같은 페이지에 머무르는 양식을 업데이트하고 div를 업데이트하십시오.
다음과 같습니까?
((HttpServletRequest) facesContext.getExternalContext().getRequest()).getContextPath()`
JSF2 및 ajax에서 작업하면서 제출하고자하는 JSF 컨텍스트의 $ .ajax URL 속성 값을 알아낼 수 없습니다 같은 페이지에 머무르는 양식을 업데이트하고 div를 업데이트하십시오.
다음과 같습니까?
((HttpServletRequest) facesContext.getExternalContext().getRequest()).getContextPath()`
제 의견으로는이 부분 (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
당신이이 같은 형태를 가지고 있다고 할 수 있습니다 :
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);
f : ajx 태그를 사용하면 좋습니다. 어떻게 내 자신의 ajax 처리기 클래스 f : ajax와 동일한 작업을 수행하는 구현하려고? JSF가 URL 아약스 속성 – farouk
@farouk을 처리하는 방법을 알고 싶다면이 방법을 사용하고 싶습니다. 복잡한 접근 방법이지만 요청 URL에서 param을 얻으려면 내 업데이트를 참조하십시오! –
Rami에게 감사드립니다. 너무 도움이됩니다. 다른 방법으로, 나는 f : ajax를 사용하지 않고 JSF2에서 폼을 submit 할 수있다. 양식 매개 변수를 가져 와서 FacesServlet으로 보내거나 다른 것을 필요로합니까? – farouk
감사합니다 누누,하지만 난 새로운를 추가 할 trynig 해요 JSF2 commandButoon. – farouk