2011-08-01 6 views
5

a4j : commandLink가 풍부한 : popupPanel에서 문제가있는 것 같지만 액션이 실행되지 않습니다.리치 스 페이스 4 a4j : 커맨드 링크 액션이 리치로 발사되지 않음 : popupPanel

<rich:popupPanel id="rate-panel" modal="true" height="444" width="780" top="60" show="false" onmaskclick="#{rich:component('rate-panel')}.hide()" styleClass="cs-modal"> 
    /**Some html here**/  
    <a4j:commandLink immediate="false" action="#{venueScore.up}" render="rate-panel" styleClass="rate love"> 
    <span>Love it</span> 
    </a4j:commandLink>  
    /**Some more html here**/  
</rich:popupPanel> 

다음과 같이 관리 빈 보인다 : 다음과 같이 XHTML 보인다

@Named("venueScore") 
@ViewScoped 
public class VenueScoreManager extends BaseManager implements Serializable { 
    public void up() { 
    System.out.println("TEST"); 
    //Do something 
    } 
} 

내가 관리 빈은 @ViewScoped 만들었습니다.

나는 commandLink를 사용하여 <h:form>을 추가하려고 시도했지만,이 방법을 사용하지 않을 경우에도 효과가 떨어집니다. 사실 commandLink가 <h:form> 안에 있고 popupPanel을 연 링크가 앉아 있기 때문입니다.

어쨌든, 누군가가 왜 행동을 시작하지 않는 방향으로 나를 가리켜 주실 수 있습니까?

답변

8

좋아, 그럼 직접 고쳤습니다. 주변을 돌고 난 후에 나는 <rich:popupPanel>의 콘텐츠 주위에 <a4j:region>을 추가하기 만하면됩니다. 그래서 지금 XHTML은 다음과 같이 보입니다 :

<rich:popupPanel id="rate-panel" modal="true" height="444" width="780" top="60" show="false" onmaskclick="#{rich:component('rate-panel')}.hide()" styleClass="cs-modal"> 
    <a4j:region id="panel-region"> 
    /**Some html here**/  
    <a4j:commandLink immediate="false" action="#{venueScore.up}" render="panel-region" styleClass="rate love"> 
     <span>Love it</span> 
    </a4j:commandLink>  
    /**Some more html here**/  
    </a4j:region> 
</rich:popupPanel> 
+0

이 답변을 찾으려고 얼마나 많은 시간을 할애했는지 믿을 수 없습니다! 이 솔루션에 어떻게 도달 했습니까? –

+0

@ AmrH.AbdelMajeed - 아마 당신만큼 많은 시간을 보냈습니다. 시도와 오류가 결국 해결 된 것 같아요;) –

+0

감사합니다! :-디 – Gatekeeper

0

나는 그것이 오래된 질문이다 것을 알고을하지만 난 정확히 같은 문제가 있었다, 나는, 아마 다른 사람을 도움이 될 것입니다 그것을 해결하기 전에 많은 시간을 보냈다. 먼저, 위에서 제안한 솔루션을 시도했지만 작동하지 않았습니다. 마지막으로, 나는이 스레드 발견 Issues closing rich:popupPanel via show condition, RF 4.0

을 그리고 내 팝업에 domElement 속성을 추가 :

<rich:popupPanel 
id="newMailPopup" 
**domElementAttachment="form"** 
...> 

그리고 지금, 내 A4J : CommandLink는 완벽하게 내가 있었다 :-)

0

작동 같은 문제, a4j : commandLink 첫 번째 클릭 후 작동 .... 폼에 poppanel을 넣고 domElementAttachment를 추가하십시오.

<h:form id="myform"> 
    <rich:popupPanel id="pop" domElementAttachment="form"> 
     ... 
     <a4j:commandLink /> 
     ... 
    </rich:popupPanel> 
</h:form>