h: commandLink actionlistener не вызывается при использовании с f: ajax и ui: repeat Когда я нажимаю ссылку, мне нужно передать параметр в методе «onload» компонента и обновите панель «assist». Он отлично работает, когда я использую commandButton, но не с commandLink.h: commandLink actionlistener не вызывается при использовании с f: ajax и ui: repeat
<h:panelGroup id="assist" styleClass="tabbed-panel-vertical">
<ul id="assistlink" class="tabbed-panel-vertical-tabs">
<ui:repeat var="assistants"
value="#{permissions.repAssistants}">
<li><h:commandLink
actionListener="#{permissions.onload}"
value="#{assistants.name}"
styleClass="#{permissions.selectedAssistant==assistants.userId ? 'selected' : ''}">
<f:ajax
render=":permissionsform:assist :permissionsform:permissionsContent"
execute="@this">
<f:attribute name="assistantId"
value="#{assistants.userId}" />
</f:ajax>
</h:commandLink></li>
</ui:repeat>
</ul>
`public void onload(ActionEvent event) {
Long userId = Long.valueOf(541);// user.getUserId();
Long assistantId = (Long) event.getComponent().getAttributes().get("assistantId");
System.out.println("User " + assistantId);
}`
Просьба подробно описать, как именно он терпит неудачу. Пожалуйста, укажите точную версию/версию JSF. – BalusC
Jsf 2.0, mojarra impl. Метод «onload» никогда не вызывается, когда я нажимаю на командную ссылку. Когда я заменяю commandLink на commandButton, я вижу, что метод вызывается. выход генерируется из commandLink: PATRICK CARROLL вывод, сгенерированный с командной ссылке: <входной тип = "представить" Name = "j_idt13: 0: j_idt15" значение = "ПАТРИК CARROLL" класс = "выбранный" /> – Smith
"JSF 2.0" является спецификация. Какую версию Mojarra вы используете? Какие браузеры вы использовали? Есть ли ошибки в консоли JavaScript при нажатии на ссылку? Как выглядит запрос/ответ ajax? Кстати, подход '' не работает так, как вы ожидали, он будет работать, но это другая проблема. –
BalusC