h: commandLink actionlistener не вызывается при использовании с f: ajax и ui: repeat - PullRequest
2 голосов
/ 30 марта 2012

h: commandLink actionlistener не вызывается при использовании с f: ajax и ui: repeat Когда я щелкаю ссылку, мне нужно передать параметр в методе «onload» бина и обновить «group» группы панелей.Он отлично работает, когда я использую commandButton, но не с commandLink.

<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); 
    }`

1 Ответ

4 голосов
/ 30 марта 2012

Согласно комментариям:

@ BalusC Его проблема с JavaScript. Спасибо за указание посмотреть на консоль javascript. Ошибка JS "Uncaught ReferenceError: mojarra не определена"

Убедитесь, что в вашем мастер-шаблоне есть тег <h:head> вместо <head>. Таким образом, JSF сможет автоматически включать необходимый файл JavaScript для магии Ajax.

...