2013-09-17 3 views
0

Я использую перфектуры 3.5, последнюю версию для наших разработок! Внутри простого лица, имеющего datatable, у меня есть commandLink, который используется для открытия нового окна на основе URL-адреса, сконструированного с параметром request.Attached код для ссылки.Открыть новое окно Onclick of image button

<p:dataTable> 
<p:column style="text-align:center;"> 
<h:commandLink value="" action="#{claimStatusBean.npfInfo.handleNpf }" target="_blank" > 
<h:graphicImage library="images" name="star_small.png" rendered="#{claimStatus.npfProvider}"/> 
</h:commandLink>  
</p:column> 
<p:dataTable> 

Но когда я нажимаю действие, оно никогда не вызывается.

ответ

0

Измените ваш h:commandLink на p:commandLink и установить атрибут process к @this или другой компонент, окружающий ваш DataTable, такие как идентификатор формы.

Например:

<p:commandLink value="" process="@this" action="#{claimStatusBean.npfInfo.handleNpf }" target="_blank" > 
<h:graphicImage library="images" name="star_small.png" rendered="#{claimStatus.npfProvider}"/> 
</p:commandLink> 
+0

Спасибо за ответ! Я попробовал эту опцию, не открывая URL-адрес, который я создал в бэк-бэне, и это исключение. – user1669692

+0

@ user1669692 Итак, вы говорите, что в методе 'ClaimStatusBean.npfInfo.handleNpf' вы возвращаете' return 'http://someurl.com ";' но он не открывает адрес? Это страница JSF или URL-адрес другого домена? Возможно, вам придется перенаправить, а не возвращать строку, которую JSF попытается обработать. – Codezilla

+0

Да, он открывает URL-адрес в том же окне не в другом окне. – user1669692

Смежные вопросы