не запускается Action из Commandlink

Тема в разделе "Java", создана пользователем Gluk, 5 май 2007.

Статус темы:
Закрыта.
  1. Gluk

    Gluk Гость

    .jsp страничка:
    Код (Text):
    ...
    <h:commandLink action="#{myBean.gotoPage}">
    <h:outputText value="#{myBean.name}"/>
    <f:param name="nextPage" value="#{myBean.uri}"/>
    </h:commandLink>
    ...
    myBean.class :
    Код (Text):
    ...
    public String gotoPage() {
    System.out.println("Action executed...");
    return "goto";
    }
    ...
    faces-config.xml:
    Код (Text):
    <managed-bean>
    <managed-bean-name>myBean</managed-bean-name>
    <managed-bean-class>MyPackage.MyClass</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    Во-о-о-т...

    Ну, и при нажатии на ссылку (commandLink то бишь) TomCat как-то недобро мне отвечает:
    Код (Text):
    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception
    javax.servlet.ServletException: Error calling action method of component with id _idJsp1:data:0:_idJsp7
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)

    root cause
    javax.faces.FacesException: Error calling action method of component with id _idJsp1:data:0:_idJsp7
    org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
    javax.faces.component.UICommand.broadcast(UICommand.java:106)
    javax.faces.component.UIData.broadcast(UIData.java:513)
    javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:94)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:168)
    org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343)
    org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
    Сообщения "Action executed..." в логах нет.
    Если заменить навигацию на статическую :
    Код (Text):
     <h:commandLink action="goto">
    всё работает.

    Так чем, собственно, плох мой изначальный вариант?!
     
  2. Gluk

    Gluk Гость

    Так толком и не понял что было-то. Моя вина, что не указал всё, что ещё на страничке было! Но я не думал что там всё так взаимосвязано (тока начинаю писать на Java)!!! Короче, был ещё метод, который вызывался при обновлении страницы. Он каким-то образом блокировал запуск моего action'а. Изменил чуток Bean, добавил в commandLink свойство immediate="true"... Заработало! Методом тыка всё сделал. Если кто объяснит на будущее - буду благодарен.
    А так, всё....
     
  3. pasha Vitebsk

    pasha Vitebsk Гость

    То, что у тебя заработал action при установке атрибута immdate="true" говорит о том, что для какого- то компонента на jsf-странице не выполнился процесс валидации или конвертации. Попробуй на jsf странице закомментировать другие тэги. Так найдешь ошибку.
     
Загрузка...
Похожие Темы - не запускается Action
  1. gURaBA_N
    Ответов:
    7
    Просмотров:
    161
  2. anna
    Ответов:
    8
    Просмотров:
    488
  3. VladSh
    Ответов:
    2
    Просмотров:
    732
  4. cobra77777
    Ответов:
    6
    Просмотров:
    1.659
  5. Amfion
    Ответов:
    2
    Просмотров:
    927
Статус темы:
Закрыта.

Поделиться этой страницей