0
사용자의 지불 세부 사항을 지불 게이트웨이 파트너에게 제출한다고 가정합니다.비 JSF 양식 업데이트
이를 위해 전달할 매개 변수로 숨겨진 값이있는 별도의 비 JSF 양식이 있습니다.
<form id="hiddenForm" action="#{checkoutBean.payuAction}" method="post" name="payuForm">
<p:outputPanel id="hiddenPanel">
<h:inputHidden id="hash" value="#{checkoutBean.hash}"/>
<h:inputHidden id="txnid" value="#{checkoutBean.txnid}"/>
<h:inputHidden id="amount" value="#{checkoutBean.totoalAmount}"/>
<h:inputHidden id="firstname" value="#{checkoutBean.firstname}"/>
<h:inputHidden id="email" value="#{checkoutBean.email}"/>
<h:inputHidden id="phone" value="#{checkoutBean.phone}"/>
<h:inputHidden id="productinfo" value="#{checkoutBean.productInfo}"/>
<h:inputHidden id="surl" value="#{checkoutBean.sURL}" />
<h:inputHidden id="furl" value="#{checkoutBean.fURL}"/>
</p:outputPanel>
</form>
위의 숨겨진 값은 마법사 (primefaces)의 마지막 단계에서 ajax를 사용하여 생성됩니다. 아약스 호출이 발생하지만 비 JSF 형식을 업데이트 할 수 없습니다. 값은 널입니다.
<p:commandButton value="Confirm" actionListener="#{checkoutBean.initPayu}" onsuccess="submitPayuForm()" update=":hiddenForm:hiddenPanel" />
위의 버튼을 지금 내가 그것을 JSF 구성 요소에서 비 JSF 구성 요소를 업데이트 할 수없는 것을 믿는 <h:form>.
입니다. 하지만이 시나리오를 해결하는 방법을 알아낼 수는 없습니다.
이 문제를 어떻게 해결할 수 있습니까?
는 사용 : JSF 2, 3.3
미리 감사드립니다 톤을 Primefaces.
:
즉,이 같은 것을보십시오. javax.faces.FacesException : "wizForm : j_idt62"에서 참조 된 식별자가 "hiddenPanel"인 구성 요소를 찾을 수 없습니다. – AkshatJSF 구성 요소가 비 JSF 구성 요소를 업데이트하려고 시도 중입니다 – Akshat
Akshat, 신중하게 읽으십시오 http://stackoverflow.com/questions/8634156/how-to-reference-components-in-jsf-ajax-cannot-find-component-with -identifier/8644762 # 8644762 그런 다음 생성 된 HTML 소스를 살펴보십시오. 나는 당신이 실제로'update = ": hiddenPanel"'을 필요로한다고 생각한다. – BalusC