Шаблоны с Facelets и вызывающим действием из компонента шаблона? - PullRequest
0 голосов
/ 01 июля 2010

Я новичок в JSF, facelet, richfaces ... и я понял управляемые компоненты, методы, вызываемые в компонентах JSF Тем не менее, я хотел использовать шаблон facelets с ui: состав, ui: define, как главные страницы в asp.net

Но у меня есть действие, которое должно вызываться в компоненте мастер-страницы ... и у меня постоянно появляется одна и та же ошибка:

javax.servlet.ServletException: #{connectionMB.logOut}: javax.el.MethodNotFoundException: /masterPage.html @134,65 action="#{connectionMB.logOut}": Method not found: ConnectionBean

потому что компонент находится на странице шаблона masterPage.html:

<jsf:commandLink id="link" action="#{connectionMB.logOut}" >Log Out</jsf:commandLink>

и действие пользователя происходит от других html-страниц, которые начинаются с:

страницы обрабатываются на стороне сервера, apache смешивает элементы masterPages с содержимым других страниц ... но как я должен заставить действие, вызываемое на masterPage компонента, работать для любых страниц?

в моем лиц-конфиге я перепробовал много вещей:

<navigation-rule>
<from-view-id>/MySiteName/*</from-view-id>
<navigation-case>
        <from-action>#{connectionMB.logOut}</from-action>

или

<from-view-id>*</from-view-id>

или

<from-view-id>/masterPage.html</from-view-id>

ничего из этого не работает ...

если кто-то понял Большое спасибо!

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Ваша проблема (в настоящее время) не в навигационных случаях.Для них - вы можете полностью опустить <from-view-id>.

Проблема в том, что у вашего ConnectionBean нет метода public String logOut() (это также может быть void).

0 голосов
/ 01 июля 2010

хорошо, это была моя вина.Конечно, вы можете вызвать метод с главной страницы, даже не указав правила навигации.В моем проекте были некоторые ошибки, поэтому я не компилировал последние вещи, которые я разработал.это все ... все равно спасибо!

...