guilhermezerbinatti 21 de dez. de 2009
Clauber,
Vc pode usar o reRender o richfaces para isso. Uma ideia seria ao vc clicar no botao mandar ele renderizar o seu include.
No momento estou sem nenhum projeto richfaces configurado aqui, senao eu te mandava um codigo pra ajudar.
clauber.ferreira 23 de dez. de 2009
Guilherme,
estou fazendo assim:
1. Criei esse bean pra setar a pagina que preciso que seje carregada
@Name ( "urls" )
@Scope ( ScopeType . PAGE )
public class URLs implements Serializable {
private static final long serialVersionUID = 1L ;
private String url = "./formularios/alerta.xhtml" ;
public void setUrl ( String url ){
this . url = url ;
System . out . println ( url );
}
public String getUrl () {
return url ;
}
}
2. Quando clicar no menu vai setar a pagina a ser carregada
<rich:menuItem submitMode="ajax" value="Alerta" action="#{urls.setUrl('alerta.xhtml')}"/>
3. Por ultimo deveria mostrar a pagina
<f:subview id= "pagina" >
<a4j:include viewId= "#{urls.url}}" ajaxRendered= "true" ></a4j:include>
</f:subview>
porém esta dando o seguinte erro:
WARNING : / formularios / alerta . xhtml } not found at jndi : / localhost / xnocp - jsf / formularios / alerta . xhtml }
11 : 30 : 36 , 531 ERROR [ STDERR ] 23 / 12 / 2009 11 : 30 : 36 com . sun . facelets . FaceletViewHandler handleRenderException
SEVERE : Error Rendering View [ /menu.xhtml ]
javax . faces . FacesException : UIInclude component j_id35 could ' t include page with path . / formularios / alerta . xhtml }
at org . ajax4jsf . taglib . html . facelets . IncludeHandler . applyNextHandler ( IncludeHandler . java : 83 )
at com . sun . facelets . tag . jsf . ComponentHandler . apply ( ComponentHandler . java : 169 )
at com . sun . facelets . tag . jsf . ComponentHandler . applyNextHandler ( ComponentHandler . java : 314 )
at com . sun . facelets . tag . jsf . ComponentHandler . apply ( ComponentHandler . java : 169 )
at com . sun . facelets . tag . CompositeFaceletHandler . apply ( CompositeFaceletHandler . java : 47 )
at com . sun . facelets . compiler . NamespaceHandler . apply ( NamespaceHandler . java : 49 )
at com . sun . facelets . tag . CompositeFaceletHandler . apply ( CompositeFaceletHandler . java : 47 )
at com . sun . facelets . compiler . EncodingHandler . apply ( EncodingHandler . java : 25 )
at com . sun . facelets . impl . DefaultFacelet . apply ( DefaultFacelet . java : 95 )
at com . sun . facelets . FaceletViewHandler . buildView ( FaceletViewHandler . java : 524 )
at com . sun . facelets . FaceletViewHandler . renderView ( FaceletViewHandler . java : 567 )
at org . ajax4jsf . application . ViewHandlerWrapper . renderView ( ViewHandlerWrapper . java : 100 )
at org . ajax4jsf . application . AjaxViewHandler . renderView ( AjaxViewHandler . java : 176 )
at com . sun . faces . lifecycle . RenderResponsePhase . execute ( RenderResponsePhase . java : 106 )
at com . sun . faces . lifecycle . LifecycleImpl . phase ( LifecycleImpl . java : 251 )
at com . sun . faces . lifecycle . LifecycleImpl . render ( LifecycleImpl . java : 144 )
at javax . faces . webapp . FacesServlet . service ( FacesServlet . java : 245 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 290 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 206 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 83 )
at org . jboss . seam . web . IdentityFilter . doFilter ( IdentityFilter . java : 40 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
at org . jboss . seam . web . MultipartFilter . doFilter ( MultipartFilter . java : 90 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
at org . jboss . seam . web . ExceptionFilter . doFilter ( ExceptionFilter . java : 64 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
at org . jboss . seam . web . RedirectFilter . doFilter ( RedirectFilter . java : 45 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
at org . ajax4jsf . webapp . BaseXMLFilter . doXmlFilter ( BaseXMLFilter . java : 178 )
at org . ajax4jsf . webapp . BaseFilter . handleRequest ( BaseFilter . java : 290 )
at org . ajax4jsf . webapp . BaseFilter . processUploadsAndHandleRequest ( BaseFilter . java : 388 )
at org . ajax4jsf . webapp . BaseFilter . doFilter ( BaseFilter . java : 515 )
at org . jboss . seam . web . Ajax4jsfFilter . doFilter ( Ajax4jsfFilter . java : 56 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
at org . jboss . seam . web . LoggingFilter . doFilter ( LoggingFilter . java : 60 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
at org . jboss . seam . servlet . SeamFilter . doFilter ( SeamFilter . java : 158 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 235 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 206 )
at org . jboss . web . tomcat . filters . ReplyHeaderFilter . doFilter ( ReplyHeaderFilter . java : 96 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 235 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 206 )
at org . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 230 )
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 175 )
at org . jboss . web . tomcat . security . SecurityAssociationValve . invoke ( SecurityAssociationValve . java : 182 )
at org . jboss . web . tomcat . security . JaccContextValve . invoke ( JaccContextValve . java : 84 )
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 127 )
at org . apache . catalina . valves . ErrorReportValve . invoke ( ErrorReportValve . java : 102 )
at org . jboss . web . tomcat . service . jca . CachedConnectionValve . invoke ( CachedConnectionValve . java : 157 )
at org . apache . catalina . core . StandardEngineValve . invoke ( StandardEngineValve . java : 109 )
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 262 )
at org . apache . coyote . http11 . Http11Processor . process ( Http11Processor . java : 844 )
at org . apache . coyote . http11 . Http11Protocol $ Http11ConnectionHandler . process ( Http11Protocol . java : 583 )
at org . apache . tomcat . util . net . JIoEndpoint $ Worker . run ( JIoEndpoint . java : 446 )
at java . lang . Thread . run ( Unknown Source )
Caused by : java . io . FileNotFoundException : Facelet Not Found : jndi : / localhost / xnocp - jsf / formularios / alerta . xhtml }
at com . sun . facelets . impl . DefaultFaceletFactory . createFacelet ( DefaultFaceletFactory . java : 226 )
at com . sun . facelets . impl . DefaultFaceletFactory . getFacelet ( DefaultFaceletFactory . java : 149 )
at com . sun . facelets . impl . DefaultFacelet . include ( DefaultFacelet . java : 293 )
at com . sun . facelets . impl . DefaultFacelet . include ( DefaultFacelet . java : 273 )
at com . sun . facelets . impl . DefaultFaceletContext . includeFacelet ( DefaultFaceletContext . java : 140 )
at org . ajax4jsf . taglib . html . facelets . IncludeHandler . applyNextHandler ( IncludeHandler . java : 81 )
... 54 more
se eu colocar essa url no browser a pagina é carregada:
http://localhost:8080/xnocp-jsf/formularios/alerta.seam
não estou entendendo o erro.
guilhermezerbinatti 24 de dez. de 2009
Clauber,
Mude na String Url o final de .xhmtl para .seam e veja se funciona
abracos
clauber.ferreira 26 de dez. de 2009
Agora funcionou, valeu pela força, deixei o .xhtml msm, atualizei os Jars e exclui o projeto da pasta work do JBoss e funcionou.
Só que a página só é carrega se eu tirar o submitMode="Ajax".
tentei assim :
<rich:menuItem submitMode= "ajax" value= "Alerta" action= "#{urls.setUrl('formularios/alerta.xhtml')}" reRender= "pagina" ></a4j:include> "/>
<f:subview id= "pagina" >
<a4j:include viewId= "#{urls.url}}" ajaxRendered= "true" ></a4j:include>
</f:subview>
mas não renderiza a pagina, só tirando o submitMode="ajax".
Tem alguma coisa de errado ?