Seguinte…
Estou começando a desenvolver com richfaces, e me deparei com um problema:
Alguns botões, inputText, entre outros, não carregam o style(Blue-Sky no caso).
O principal é o “<a4j:commandButton/>”
As funções do botão funcionam perfeitamente, a questão é somente o Style. Esse é o codigo que o chama:
<a4j:commandButton action="#{produtoBean.actionEditarProduto}"
value="Editar" reRender="cadastro, tabelaProd">
<f:setPropertyActionListener value="#{prod}"
target="#{produtoBean.produto}" />
</a4j:commandButton>
E no meu web.xml está configurado como “enable” o “CONTROL_SKINNING”.
:roll:
No site:
http://livedemo.exadel.com/richfaces-demo/richfaces/graphValidator.jsf?c=graphValidator&tab=usage
Percebi que ele carrega os botões com a skin html normal, ao terminar de iniciar a pagina, a skin muda :shock: .
Tentei ver o codigo fonte, mas é como procurar a agulha no palheiro
rod
Julho 13, 2009, 9:01am
#3
Se voce estiver usando Safari ou Opera, alguns componentes vao usar o skin do browser.
Percebi isso quando estava testando uma aplicacao no Safari e os botoes usavam o estilo do Safari e quando a abri no firefox todos os botoes apareceram com o estilo do richfaces.
Retirado da pagina livedemo do richfaces:
http://livedemo.exadel.com/richfaces-demo/richfaces/standardSkinning.jsf?c=StandardSkinning&tab=usage
Mas a skin não está carregando em nenhum browser aqui(Firefox, Chrome e IE7).
No chrome, tem uma gambiarra que funciona, que seria, apos carregar a pagina, ir na barra de endereço e digitar o endereço certinho da mesma jsp que estou… soh vi funcionar assim :shock:
Adicione isso ao seu web.xml
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
Ja adicionei o Control Skinning…
meu web.xml:
[code]<?xml version=“1.0” encoding=“UTF-8”?>
<web-app xmlns=“http://java.sun.com/xml/ns/javaee ”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance ” version=“2.5”
xsi:schemaLocation=“http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd ”>
<!-- Plugging the "Blue Sky" skin into the project -->
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<!-- Making the RichFaces skin spread to standard HTML controls -->
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
<param-value>enable</param-value>
</context-param>
<!-- Defining and mapping the RichFaces filter -->
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
[/code]
Fala Hellmanss,
no meu esta funcionando perfeito, a unica diferença do meu web.xml para o seu é
não coloque o CLASSES
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
<param-value>enable</param-value>
</context-param>
e o meu Faces Servlet esta com load 1
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Qual versao do Rich vc ta usando ?
Abraços
Opaa
removi a tag… e adicionei o load 1, mas continua o mesmo problema nos navegadores.
A versão do rich é 3.0.0 GA.
Se souber mais alguma coisa para mim tentar aqui eu agradeço
bom tenta a 3.3.1 é q estou usando e é a mais nova!
Abrass
outra coisa tambem, tira as tags do web.xml pra o SKIN para ele assumir o default, so para teste, ver se pelo menos no default ele carrega!
Abrass
Consegui resolver adicionando em cada botão o style dele:
tyleClass="rich-button"
onmouseover="this.className='rich-button-over'"
onmouseout="this.className='rich-button'"
onmousedown="this.className='rich-button-press'"
onmouseup="this.className='rich-button-over'"
Estou estudando na versão 3.0.0 pq é padrão em um framework aqui na empresa. Por isso não convem utilizar a ultima versão. :?
Se alguem souber como resolver esse probleminha sem ter que por o class nos botoes posta, já vi bastante gente com o mesmo problema…
vlw e até mais!