2012-04-25 3 views
1

Я сейчас живу RichFaces для моего проекта JSF, но у меня проблема с компонентами рендеринга в моем окружении.JBoss 7.1, JSF, RichFaces - богатые компоненты не хотят рендерить

Я добавил RichFaces банку (все 4 банок со страницы RichFaces) для модулей JBoss (E: \ JBoss \ модули \ орг \ RichFaces \ основной) с module.xml:

<module xmlns="urn:jboss:module:1.1" name="org.richfaces"> 
<resources> 
<resource-root path="richfaces-components-api-4.2.1.Final.jar"/> 
<resource-root path="richfaces-components-ui-4.2.1.Final.jar"/> 
<resource-root path="richfaces-core-api-4.2.1.Final.jar"/> 
<resource-root path="richfaces-core-impl-4.2.1.Final.jar"/> 
<!-- Insert resources here --> 
</resources> 
<dependencies> 
<module name="org.w3c.css.sac"/> 
<module name="net.sourceforge.cssparser"/> 
<module name="com.sun.jsf-impl"/> 
<module name="javax.api"/> 
<module name="javax.faces.api"/> 
<module name="javax.xml.bind.api"/> 
<module name="javax.xml.jaxp-provider"/> 
<module name="com.google.guava"/> 
</dependencies> 
</module> 

были добавлены Все зависимости к модулю jboss по умолчанию.

Я создал простую страницу JSF с RichFaces из учебника:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:rich="http://richfaces.org/rich" 
    xmlns:a4j="http://richfaces.org/a4j"> 

<h:head></h:head> 
<body> 
    <rich:panel> 
     <f:facet name="header"> 
     Write your own custom rich components with built-in AJAX support 
     </f:facet> 
     <h:outputText value="Panel Body" /> 
    </rich:panel> 
    <rich:panel> 
     <f:facet name="header"> 
     Write your own custom rich components with built-in AJAX support 
     </f:facet> 
     <h:outputText value="Panel Body" /> 
     <a4j:form> 
      <h:outputText value="The integer version of the selected color:" /> 
      <h:outputText id="RGBvalue" value="#{colorPickerBean.color}" /> 
      <rich:panel header="RichFaces Color Picker" style="width: 315px"> 
       <rich:colorPicker value="#{colorPickerBean.color}" colorMode="rgb" 
        converter="org.richfaces.IntegerColor"> 
        <a4j:support event="onchange" reRender="RGBvalue" /> 
       </rich:colorPicker> 
      </rich:panel> 
     </a4j:form> 
    </rich:panel> 

</body> 
</html> 

Оба XMLNS в головной метке подсвечены с «NLS отсутствует сообщение: CANNOT_FIND_FACELET_TAGLIB в: org.eclipse.jst.jsf.core.validation.internal .facelet.messages "

Я развернул новую страницу xhtml для JBoss, и теперь богатые компоненты не обрабатываются надлежащим образом. Следующий список показывает источник развернутой страницы.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j"><head></head> 
<body> 
    <rich:panel>Panel Body 
    </rich:panel> 
    <rich:panel>Panel Body 
     <a4j:form>The integer version of the selected color:<span id="RGBvalue"></span> 
      <rich:panel header="RichFaces Color Picker" style="width: 315px"> 
       <rich:colorPicker colorMode="rgb" converter="org.richfaces.IntegerColor"> 
        <a4j:support event="onchange" reRender="RGBvalue"></a4j:support> 
       </rich:colorPicker> 
      </rich:panel> 
     </a4j:form> 
    </rich:panel> 

</body> 
</html> 

Мой JBoss развертывание-structure.xml в WebContent/META-INF:

<jboss-deployment-structure> 
    <sub-deployment name="Tutorial2.war"> 
     <dependencies> 
      <module name="org.richfaces" slot="main"> 
       <imports> 
        <include path="**" /> 
       </imports> 
      </module> 
     </dependencies> 
    </sub-deployment> 
</jboss-deployment-structure> 

Модули определяют, как показаны в ссылке https://issues.jboss.org/browse/RF-12008

После еще несколько изменений я получил

00:29:52,455 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.deployment.unit."Tutorial2.war".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."Tutorial2.war".STRUCTURE: Failed to process phase STRUCTURE of deployment "Tutorial2.war" 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_31] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_31] 
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_31] 
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Sub deployment Tutorial2.war in jboss-structure.xml was not found. Available sub deployments: 
    at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.subDeploymentNotFound(DeploymentStructureDescriptorParser.java:233) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.deploy(DeploymentStructureDescriptorParser.java:159) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    ... 5 more 

Ошибка возникает, как только я добавляю jboss-deployment-structure.xml в WEB-INF.

+0

Ваш 'JBoss развертывания -структура.xml' в Tutorial2.war? Если это так, то это, вероятно, не должно быть ''. Посмотрите документацию. https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7#ClassLoadinginAS7-JBossDeploymentStructureFile –

+0

Я пробовал без секции поддепозиции, а теги с тегами не хотят рендерить. <зависимостей> <имя модуля = "org.richfaces" slot = "main" />

ответ

0

Похоже, что это, вероятно, проблема с eclipse. Кажется, есть несколько разных вопросов в одном ряду с eclipse и JSF. Большинство из них, кажется, говорят что-то this.

+0

Спасибо, проблема с предупреждениями Eclipse решена, но страницы все еще не хотят отображать должным образом. –

+0

Любые новые ошибки? Что на самом деле получилось? –

+0

На самом деле ничего. –

0

см после обсуждения на JBoss форуме https://community.jboss.org/message/633025#633025 и поиск correnct ответа

вы должны поставить jboss7 специфический дескриптор развертывания jboss_deployment_structure.xml сделать модуль RichFaces доступен в приложении

+0

Я перепробовал jboss-deployment-structure.xml и приложил его к вопросу. –