자바 스크립트 솔루션 :
한 가지 가능한 방법은 자바 스크립트가 될 수 :
<p:tagCloud model="#{tagCloudBean.model}" onclick="preventDefault(event)">
<p:ajax event="select" update="msg" listener="#{tagCloudBean.onSelect}" />
</p:tagCloud>
onclick을 열 지에서 링크를 방지하는 자바 스크립트 함수를 트리거합니다.
function preventDefault(e) {
e.preventDefault();
}
또한 ajax 이벤트를 추가하여 관리 Bean에서 리스너를 호출 할 수 있습니다.
public void onSelect(SelectEvent event) {
TagCloudItem item = (TagCloudItem) event.getObject();
String url = item.getUrl();
String script = "window.open('" + url + "');"
RequestContext.getCurrentInstance().execute(script);
}
여기에서 TagCloudItem의 URL에 액세스하고 새 브라우저 창을 열어야하는 JavaScript 문을 실행할 수 있습니다.
이 가능한 솔루션은 테스트되지 않았지만 시도해보십시오.
나는 또한이 하나와 함께 대상 요소가 시도했습니다. 하지만 여전히 같은 창에서 열리고 있습니다. –
user3724609
답변을 업데이트했습니다. 희망이 마침내 작동합니다. – QueryLars
고마워요. 잘 작동합니다. 하지만 자바 스크립트를 제외하고 다른 방법이 있습니까 ??? – user3724609