RichFaces4 не отображает компоненты - PullRequest
1 голос
/ 22 апреля 2011

Я пытаюсь запустить приложение RichFaces4, но компоненты не отображаются. Например, когда я пробую это демо: Демо я получаю что-то вроде этого:

Here is an example of default tab panel with 3 tabs.



 j_id1475365623_57f04a9f j_id1475365623_57f04a9f j_id1475365623_57f04a9f 
 j_id1475365623_57f04a75 j_id1475365623_57f04a75 j_id1475365623_57f04a75 
 j_id1475365623_57f04a6b j_id1475365623_57f04a6b j_id1475365623_57f04a6b 



«
↓
»
Here is tab #1



Here is an example of tab panel switched in "ajax" style. Second tab is disabled.



 j_id1475365623_57f04a27 j_id1475365623_57f04a27 j_id1475365623_57f04a27 
 j_id1475365623_57f04a1d j_id1475365623_57f04a1d j_id1475365623_57f04a1d 
 j_id1475365623_57f04bf3 j_id1475365623_57f04bf3 j_id1475365623_57f04bf3 



«
↓
»
Here is tab #1



Here is an example of tab panel switched completely on client.



 j_id1475365623_57f04bcf j_id1475365623_57f04bcf j_id1475365623_57f04bcf 
 j_id1475365623_57f04ba5 j_id1475365623_57f04ba5 j_id1475365623_57f04ba5 
 j_id1475365623_57f04b9b j_id1475365623_57f04b9b j_id1475365623_57f04b9b 



«
↓
»
Here is tab #1
Here is tab #2
Here is tab #3

Мой код почти такой же, как в демо. Я только что добавил тег формы, потому что он жаловался на это.

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:rich="http://richfaces.org/rich">
    <p>Here is an example of default tab panel with 3 tabs.</p>
    <h:form>
    <rich:tabPanel>
        <rich:tab label="First">
            Here is tab #1
        </rich:tab>
        <rich:tab label="Second">
            Here is tab #2
        </rich:tab>
        <rich:tab label="Third">
            Here is tab #3
        </rich:tab>
    </rich:tabPanel>
    <br/><br/>
    <p>Here is an example of tab panel switched in "ajax" style. Second tab is disabled.</p>
    <rich:tabPanel switchType="ajax">
        <rich:tab label="First">
            Here is tab #1
        </rich:tab>
        <rich:tab label="Second" disabled="true">
            Here is tab #2
        </rich:tab>
        <rich:tab label="Third">
            Here is tab #3
        </rich:tab>
    </rich:tabPanel>
    <br/><br/>
    <p>Here is an example of tab panel switched completely on client.</p>
    <rich:tabPanel switchType="client">
        <rich:tab label="First">
            Here is tab #1
        </rich:tab>
        <rich:tab label="Second">
            Here is tab #2
        </rich:tab>
        <rich:tab label="Third">
            Here is tab #3
        </rich:tab>
    </rich:tabPanel>
    </h:form>
</ui:composition>

Ответы [ 2 ]

6 голосов
/ 23 апреля 2011

Это то, что мне сказали Crome Developer Tools http://img571.imageshack.us/i/rfnotdefined.jpg (Uncaught ReferenceError: RichFaces не определено)

Это означает, что необходимые файлы JavaScript RichFaces не были предоставлены в сгенерированном HTML <head>. Вы должны убедиться, что вы используете компонент JSF <h:head> вместо простого HTML <head> в шаблоне. Это именно мандатрой для нового механизма внедрения ресурсов JSF 2.0, JSF и RichFaces будут вставлять туда связанные с Ajax / UI JavaScripts / Stylesheets.

Однако мне интересно, было ли что-либо зарегистрировано в журнале сервера об отсутствии <h:head>. Следите за журналами сервера.

0 голосов
/ 06 декабря 2011

По крайней мере, в некоторых случаях ничего не регистрируется в журнале сервера об отсутствии <h:head>.При использовании только <head> в шаблоне лицевых оболочек с MyFaces 2.1.4, RichFaces 4.0.0 на WAS 7.0.0.13 приводит к тому, что компоненты RichFaces не отображаются должным образом, но компоненты a4j работают нормально.Определенно, на что стоит обратить внимание при миграции проектов JSF1.

...