Erro! Integrando JSF com Tiles

1 resposta
Mauricio_Linhares

Assim, você já pensou em usar Facelets e largar o Tiles?

https://facelets.dev.java.net/

O seu erro aconteceu provavelmente porque a requisição não foi feita corretamente ao servlet do JSF, veja a url que você está chamando pra ver se ela está correta.

1 Resposta

P

Pessoal!

Estou integrando JSF com Tiles, faço deploy da minha aplicação normal no jboss 4.0.2, mas quando vou acessar minha pagina de index, pagina de layout que defini para o tiles ele da o seguinte erro:

ERROR [javax.faces.webapp.UIComponentTag] Faces context not found. getResponseWriter will fail. Check if the FacesServlet has been initialized at all in your web.xml.

abaixo segue meu web.xml

<?xml version="1.0" encoding="UTF-8"?>

org.apache.myfaces.webapp.StartupServletContextListener
<servlet>
	<servlet-name>Tiles Servet</servlet-name>
	<servlet-class>
		org.apache.struts.tiles.TilesServlet
	</servlet-class>
	<init-param>
		<param-name>definitions-config</param-name>
		<param-value>/WEB-INF/tiles-def.xml</param-value>
	</init-param>
	<load-on-startup>2</load-on-startup>
</servlet>



<servlet>
	<servlet-name>Faces Servlet</servlet-name>
	<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>Faces Servlet</servlet-name>
	<url-pattern>*.jsf</url-pattern>
</servlet-mapping>

e tb meu faces config.

<?xml version="1.0" encoding="UTF-8"?> org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl pt_BR
<application>
	<default-render-kit-id>oracle.adf.core</default-render-kit-id>
</application>

<render-kit>
	<render-kit-id>HTML_BASIC</render-kit-id>

	<renderer>
		<component-family>
			org.apache.myfaces.HtmlTree2
		</component-family>
		<renderer-type>org.apache.myfaces.HtmlTree2</renderer-type>
		<renderer-class>
			org.apache.myfaces.custom.tree2.HtmlTreeRenderer
		</renderer-class>
	</renderer>

</render-kit>


<component-type>org.apache.myfaces.HtmlTree2</component-type>
	<component-class>
		org.apache.myfaces.custom.tree2.HtmlTree
	</component-class>
</component>

<navigation-rule>
	<from-view-id>/tree/tree.jsp</from-view-id>
	<navigation-case>
		<from-action>#{tree.getToView}</from-action>
		<from-outcome>areanegocios</from-outcome>
		<to-view-id>/areanegocios/update.jsp</to-view-id>
	</navigation-case>
	<navigation-case>
		<from-action>#{tree.getToView}</from-action>
		<from-outcome>sistemas</from-outcome>
		<to-view-id>/sistemas/update.jsp</to-view-id>
	</navigation-case>
	<navigation-case>
		<from-action>#{tree.getToView}</from-action>
		<from-outcome>recurso</from-outcome>
		<to-view-id>/recurso/update.jsp</to-view-id>
	</navigation-case>
	<navigation-case>
		<from-action>#{tree.getToView}</from-action>	
		<from-outcome>regras</from-outcome>
		<to-view-id>/regra/update.jsp</to-view-id>
	</navigation-case>
</navigation-rule>


<!--  rules Area de Negocio -->
<navigation-rule>
	<from-view-id>/areanegocios/list.jsp</from-view-id>
	<navigation-case>
		<from-outcome>newareanegocios</from-outcome>
		<to-view-id>/areanegocios/insert.jsp</to-view-id>
	</navigation-case>
</navigation-rule>

<navigation-rule>
	<from-view-id>/areanegocios/update.jsp</from-view-id>
	<navigation-case>
		<from-outcome>success</from-outcome>
		<to-view-id>/areanegocios/list.jsp</to-view-id>
	</navigation-case>
</navigation-rule>


	
<navigation-rule>
	<from-view-id>/fisheye.jsp</from-view-id>
	<navigation-case>
		<from-outcome>browser</from-outcome>
		<to-view-id>/areanegocios/insert.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
                    .
                    .
                    .



<managed-bean>
	<managed-bean-name>menu</managed-bean-name>
	<managed-bean-class>
		com.novell.cst.menu.ManagedBean
	</managed-bean-class>
	<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
                 .
                 .
             .

note que no faces.config eu coloquei

org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl

o que muitos posts e artigos sugerem

e no web.xml e coloquei

Tiles Servet org.apache.struts.tiles.TilesServlet definitions-config /WEB-INF/tiles-def.xml 2

e o listener

org.apache.myfaces.webapp.StartupServletContextListener

cara! ja tentei fazer de tudo, procurei em todos os lugares, vi o que a galera postou sobre esse erro em diversos foruns, só que muita informação desencontrada e dispersa, muita gente esta com esse problema mas ninguem sabe como resolver ao certo.

o pagina que acontece o erro é essa:

<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f”%>
<%@ taglib uri=“http://jakarta.apache.org/struts/tags-tiles” prefix=“tiles”%>

<f:view>
<h:panelGrid columns=“2”>

<f:facet name="header">
	<f:subview id="header">
	  	<tiles:insert attribute="header" flush="false"/>  -->
	</f:subview>
</f:facet>


<f:subview id="tree">
	<tiles:insert attribute="tree" flush="false"/>  -->
</f:subview>

<f:subview id="content">
		<tiles:insert attribute="content" flush="false"/>  -->
</f:subview>

</h:panelGrid>
</f:view>

cotent, tree, header estão corretamente declarados no tiles-def.xml

Se alguem souber como resolver esse problema ficarei muito agradecido.

Muito Obrigado
Valeu galera!!!

Criado 15 de agosto de 2006
Ultima resposta 15 de ago. de 2006
Respostas 1
Participantes 2