2017-05-19 2 views
0

저는 JSF와 UI에 익숙하지 않습니다. 하위 메뉴를 클릭하면 비즈니스 로직이 실행되고 그 후에 내 페이지가 렌더링되기를 원합니다. 아래 스 니펫을 시도했지만 작동하지 않는 페이지가 렌더링되고 있지만 actionListener이 실행되지 않습니다. url 부분을 제거하면 actionListener이 작동하지만 이제는 페이지를 렌더링하는 방법과 같이 막혀 있습니다.url과 actionListener를 함께 사용할 수 없습니다.

<ace:menuItem id="RedactionCapture" value="Redaction" 
    actionListener="#{redactionController.getRedactionList}" 
    url="#{firmUtility.legalHoldCreationOrRemovalUrl}" 
    style="width:220px" styleClass="dropdownmenu" 
    target="imagepgframe"> 
</ace:menuItem> 

답변

2

예상되는 동작입니다. actionListener은 URL이 아닌 action의 수신기입니다. action을 작성하여 리스너와 함께 URL로 리디렉션하거나 작업의 모든 작업을 수행 할 수 있습니다. 이것은 IceFaces뿐만 아니라 PrimeFaces에서도 마찬가지입니다.

(예를 들어, 청취자), XHTML :

<ace:menuItem action="#{yourBean.redirect(firmUtility.legalHoldCreationOrRemovalUrl)}" 
       actionListener="#{redactionController.getRedactionList}" 
       ... /> 

콩 :

public void redirect(String url) throws IOException { 
    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); 
    externalContext.redirect(url); 
} 

항목 :

+0

예를 들어 도와 주실 수 있습니까? 어떻게해야합니까? –

+0

@AviteshKesharwani 예를 추가했습니다. –

+0

문제를 해결하는 해답을 수락하십시오! –

관련 문제