2016-12-12 14 views
1

Я уже прочитал «все» другие вопросы, касающиеся неработающих CommandLinks, но никто не применим для меня, надеюсь, есть другое решение.htmlCommandLink работает только в первый раз

У меня есть a4j: htmlCommandLink, который работает только при первом нажатии. Если я щелкнул в другом месте страницы, которая запускает reRender a4j: outputPanel, тогда она будет работать каждый раз, когда я нажимаю.

<a4j:outputPanel rendered="true" id="results"> 
<a4j:form id="csv-form"> 
<a4j:htmlCommandLink title="Export" action="#{bean.export()}" value="Export CSV" id="csv-link"/> 
</a4j:form> 
<a4j:form id="other-form"> 
<a4j:commandLink value="Test" action="#{bean.action()}" reRender="results" title="Test"> 
</a4j:form> 
</a4j:outputPanel> 

Почему он не работает во второй раз, когда я нажимаю (до того, как я переписываю)?

UPDATE Это работает:

<a4j:form id="csv-form"> 
<a4j:htmlCommandLink title="Export" action="#{bean.export()}" value="Export CSV" id="csv-link"/> 
<a4j:support event="onclick" reRender="results"></a4j:support> 
</a4j:form> 

ответ

0

Я не знаю, если это ошибка в JSF 1.2, но мне кажется, что a4j: outputPanel не отображается после того, как я нажимаю htmlCommandLink первый время.

Я добавил a4j: support. В событии onclick он переписывает результаты. Я обновил код выше.

При каждом щелчке по htmlCommandLink выдается OutputPanel результатов. И это работает. :)