thiago.correa 29 de jun. de 2009
Esse é o comportamento padrão, rendered quer dizer renderizado ou seja, se o parser do JSF vai trasformar aquela determinada Taglib em uma tag HTML padrão, se ele não é renderizado ele não existe na árvore.
Não entendo o porquê de você não renderizá-lo e mesmo assim querer o valor?!
giulianocosta 29 de jun. de 2009
Imaginei que fosse por questão comportamental.
Na verdade eu não quero o valor do componente quando ele não for renderizado mas sim quando ele for renderizado. É somente neste momento que necessito do valor. Mas mesmo assim ele não vem, mesmo quando renderizado o valor do campo não vem. Achei estranho esse comportamento, pois a partir do momento que ele é criado no html ele não deveria existir na árvore?
thiago.correa 29 de jun. de 2009
Ok, os options são gerados no HTML certinho?! Dê uma olhada no HTML, como você populou a lista
accountAction.availablePlans
Outra coisa que me chamou a atenção, o que esse método faz findPlanById(this.value)!!!
giulianocosta 29 de jun. de 2009
Thiago,
são gerados certos sim.
Esse evento ai é um @WebRemote que faço. Na verdade ao selecionar a combo ele busca detalhes sobre o item selecionado. Por isso esse “onchange” ai.
Método que monta meu select.
public List < SelectItem > getAvailablePlans () {
List < Map > result = em . createQuery ( "//select" ). getResultList ();
if ( ! result . isEmpty ()) {
List < SelectItem > plans = new ArrayList < SelectItem > ( result . size ());
for ( Map map : result ) {
plans . add ( new SelectItem ( map . get ( "id" ), ( String ) map . get ( "name" )));
}
return plans ;
}
return new ArrayList < SelectItem > ( 0 );
}
thiago.correa 29 de jun. de 2009
Certo, tente dar uma olhada no richfaces que ele possui a implementação ajax para JSF (se for o caso), mas como você chama esse WebService?! Como você passa o parâmetro?!
Se você quer passar o valor selecionado via JS você deve fazer
Na tua página faça
giulianocosta 29 de jun. de 2009
Thiago,
Na verdade o método que traz os detalhes do item selecionado funciona normalmente. A função javascript que uso ai é essa:
function findPlanById ( id ){
if ( id != '' ) {
var affiliationAction = Seam . Component . getInstance ( "affiliationAction" );
affiliationAction . findPlanById ( id , _cb , _exceptionHandler );
} else {
_cb ({ description : '' , price : '' });
}
}
function _cb ( plan ){
jq ( "span:[id$='planValue']" ) . text ( plan . price );
jq ( "textarea[id$='planDescription']" ) . val ( plan . description );
}
Isso funciona de boa. O único problema é que quando eu chamo o seguinte método:
< a4j: commandButton
value = "#{affiliation.id == null ? messages['view.registerNew'] : messages['view.saveChanges']}"
action = "#{affiliationAction.save(affiliation, plan)}" />
Lá no método “save” da minha action o parâmetro “plan” chega com id null. Mas isso só quando eu tenho o atributo “rendered” no “<h:selectOneMenu”. Quando não tenho esse atributo, o valor chega tranquilo la.
thiago.correa 30 de jun. de 2009
Tem um artigo, acredito que no site do myfaces sobre como trabalhar com o atributo rendered e ajax 4 jsf pode ser esse o problema, dá uma vasculhada no wiki deles! Se eu achar o artigo eu posto aqui o link!
rimolive 30 de jun. de 2009
Ok amigo talvez não faça parte da discussão o que eu vou falar mas vai a dica:
Ao invés de criar um método que retorne uma lista de SelectItem, faça com que o método retorne a lista de objetos e na página JSP utilize as tags do Seam para que ele mesmo converta o valor selecionado em um objeto.
<h:selectOneMenu
id= "planId"
style= "width:219px"
required= "true"
rendered= "#{empty affiliation.code}"
onchange= "findPlanById(this.value)"
value= "#{plan.id}" >
<f:selectItem itemValue= "" itemLabel= "Selecione..." />
<s:selectItems value= "#{listAvailablePlans}" var= "item" itemLabel= "#{item.name}" />
<s <convertEntity />
</h:selectOneMenu>
giulianocosta 30 de jun. de 2009
rimolive:
Ok amigo talvez não faça parte da discussão o que eu vou falar mas vai a dica:
Ao invés de criar um método que retorne uma lista de SelectItem, faça com que o método retorne a lista de objetos e na página JSP utilize as tags do Seam para que ele mesmo converta o valor selecionado em um objeto.
<h:selectOneMenu
id="planId"
style="width:219px"
required="true"
rendered="#{empty affiliation.code}"
onchange="findPlanById(this.value)"
value="#{plan.id}">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<s:selectItems value="#{listAvailablePlans}" var="item" itemLabel="#{item.name}" />
<s<convertEntity />
</h:selectOneMenu>
Tu fala então pra mim deixar esse “listAvailablePlans” como Factory no meu Seam Beam? Eu tinha feito isso mas depois comecei a achar estranho pois esse factory era chamado duas ou três vezes a cada requisição e eu não entendi o porquê disso. Dai implementei da forma como está atualmente.
Sabes o porquê desse comportamento?
rimolive 30 de jun. de 2009
Use a anotação @Create , pois ela executa o método ao criar o componente Seam.
giulianocosta 30 de jun. de 2009
rimolive:
Ok amigo talvez não faça parte da discussão o que eu vou falar mas vai a dica:
Ao invés de criar um método que retorne uma lista de SelectItem, faça com que o método retorne a lista de objetos e na página JSP utilize as tags do Seam para que ele mesmo converta o valor selecionado em um objeto.
<h:selectOneMenu
id="planId"
style="width:219px"
required="true"
rendered="#{empty affiliation.code}"
onchange="findPlanById(this.value)"
value="#{plan.id}">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<s:selectItems value="#{listAvailablePlans}" var="item" itemLabel="#{item.name}" />
<s<convertEntity />
</h:selectOneMenu>
Estranho, mudei para o código abaixo e agora esta dando um erro.
< s : selectItems
value = "#{slctAvailablePlans}"
var = "p"
itemLabel = "#{p.name}"
itemValue = "#{p.id}"
noSelectionLabel = "Selecione..." />
< s : convertEntity />
@Name ( "planAction" )
@Scope ( ScopeType . EVENT )
public class PlanAction {
@Factory ( "slctAvailablePlans" )
public List < Plan > factorySlctAvailablePlans () {
return planService . findAvailables ();
}
Erro:
org . jboss . seam . Entity $ NotEntityException : Not an entity class : java . lang . Long
at org . jboss . seam . Entity . forClass ( Entity . java : 159 )
at org . jboss . seam . Entity . forBean ( Entity . java : 145 )
at org . jboss . seam . persistence . PersistenceProvider . getId ( PersistenceProvider . java : 139 )
at org . jboss . seam . persistence . HibernatePersistenceProvider . getId ( HibernatePersistenceProvider . java : 191 )
at org . jboss . seam . framework . EntityIdentifier .< init > ( EntityIdentifier . java : 13 )
at org . jboss . seam . ui . JpaEntityLoader . createIdentifier ( JpaEntityLoader . java : 29 )
at org . jboss . seam . ui . AbstractEntityLoader . put ( AbstractEntityLoader . java : 46 )
at sun . reflect . NativeMethodAccessorImpl . invoke0 ( Native Method )
at sun . reflect . NativeMethodAccessorImpl . invoke ( NativeMethodAccessorImpl . java : 39 )
at sun . reflect . DelegatingMethodAccessorImpl . invoke ( DelegatingMethodAccessorImpl . java : 25 )
at java . lang . reflect . Method . invoke ( Method . java : 597 )
at org . jboss . seam . util . Reflections . invoke ( Reflections . java : 22 )
at org . jboss . seam . intercept . RootInvocationContext . proceed ( RootInvocationContext . java : 32 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 56 )
at org . jboss . seam . transaction . RollbackInterceptor . aroundInvoke ( RollbackInterceptor . java : 28 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 68 )
at org . jboss . seam . transaction . TransactionInterceptor $ 1. work ( TransactionInterceptor . java : 97 )
at org . jboss . seam . util . Work . workInTransaction ( Work . java : 47 )
at org . jboss . seam . transaction . TransactionInterceptor . aroundInvoke ( TransactionInterceptor . java : 91 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 68 )
at org . jboss . seam . core . MethodContextInterceptor . aroundInvoke ( MethodContextInterceptor . java : 44 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 68 )
at org . jboss . seam . intercept . RootInterceptor . invoke ( RootInterceptor . java : 107 )
at org . jboss . seam . intercept . JavaBeanInterceptor . interceptInvocation ( JavaBeanInterceptor . java : 185 )
at org . jboss . seam . intercept . JavaBeanInterceptor . invoke ( JavaBeanInterceptor . java : 103 )
at org . jboss . seam . ui . JpaEntityLoader_ $$ _javassist_seam_9 . put ( JpaEntityLoader_ $$ _javassist_seam_9 . java )
at org . jboss . seam . ui . EntityConverter . getAsString ( EntityConverter . java : 65 )
at org . jboss . seam . ui . converter . PrioritizableConverter . getAsString ( PrioritizableConverter . java : 67 )
at org . jboss . seam . ui . converter . ConverterChain . getAsString ( ConverterChain . java : 126 )
at com . sun . faces . renderkit . html_basic . HtmlBasicRenderer . getFormattedValue ( HtmlBasicRenderer . java : 448 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . renderOption ( MenuRenderer . java : 480 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . renderOptions ( MenuRenderer . java : 772 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . renderSelect ( MenuRenderer . java : 832 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . encodeEnd ( MenuRenderer . java : 280 )
at javax . faces . component . UIComponentBase . encodeEnd ( UIComponentBase . java : 861 )
at org . jboss . seam . ui . util . cdk . RendererBase . renderChild ( RendererBase . java : 190 )
at org . jboss . seam . ui . util . cdk . RendererBase . renderChildren ( RendererBase . java : 166 )
at org . jboss . seam . ui . renderkit . ValidateAllRendererBase . doEncodeChildren ( ValidateAllRendererBase . java : 33 )
at org . jboss . seam . ui . util . cdk . RendererBase . encodeChildren ( RendererBase . java : 92 )
at javax . faces . component . UIComponentBase . encodeChildren ( UIComponentBase . java : 837 )
at javax . faces . component . UIComponent . encodeAll ( UIComponent . java : 930 )
at javax . faces . render . Renderer . encodeChildren ( Renderer . java : 148 )
at javax . faces . component . UIComponentBase . encodeChildren ( UIComponentBase . java : 837 )
at javax . faces . component . UIComponent . encodeAll ( UIComponent . java : 930 )
at javax . faces . component . UIComponent . encodeAll ( UIComponent . java : 933 )
at com . sun . facelets . FaceletViewHandler . renderView ( FaceletViewHandler . java : 592 )
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 : 110 )
at com . sun . faces . lifecycle . Phase . doPhase ( Phase . java : 100 )
at com . sun . faces . lifecycle . LifecycleImpl . render ( LifecycleImpl . java : 139 )
at javax . faces . webapp . FacesServlet . service ( FacesServlet . java : 266 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 290 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 206 )
at org . apache . catalina . core . ApplicationDispatcher . invoke ( ApplicationDispatcher . java : 630 )
at org . apache . catalina . core . ApplicationDispatcher . processRequest ( ApplicationDispatcher . java : 436 )
at org . apache . catalina . core . ApplicationDispatcher . doForward ( ApplicationDispatcher . java : 374 )
at org . apache . catalina . core . ApplicationDispatcher . forward ( ApplicationDispatcher . java : 302 )
at org . jboss . seam . web . RewriteFilter . process ( RewriteFilter . java : 98 )
at org . jboss . seam . web . RewriteFilter . doFilter ( RewriteFilter . java : 57 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
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 . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 73 )
at org . jboss . seam . web . RedirectFilter . doFilter ( RedirectFilter . java : 45 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 73 )
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 : 368 )
at org . ajax4jsf . webapp . BaseFilter . doFilter ( BaseFilter . java : 495 )
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 . 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 . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 233 )
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 191 )
at org . apache . catalina . authenticator . AuthenticatorBase . invoke ( AuthenticatorBase . java : 433 )
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 128 )
at org . apache . catalina . valves . ErrorReportValve . invoke ( ErrorReportValve . java : 102 )
at org . apache . catalina . core . StandardEngineValve . invoke ( StandardEngineValve . java : 109 )
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 286 )
at org . apache . coyote . http11 . Http11Processor . process ( Http11Processor . java : 845 )
at org . apache . coyote . http11 . Http11Protocol $ Http11ConnectionHandler . process ( Http11Protocol . java : 583 )
at org . apache . tomcat . util . net . JIoEndpoint $ Worker . run ( JIoEndpoint . java : 447 )
at java . lang . Thread . run ( Thread . java : 619 )
@Entity
@Name ( "plan" )
public class Plan extends EntityBase {
@Column ( name = "name" , nullable = false , length = 30 )
@NotNull
@NotEmpty
@Length ( max = 30 )
private String name ;
@Column ( name = "description" , nullable = false , length = 200 )
@NotNull
@NotEmpty
@Length ( max = 200 )
private String description ;
@Temporal ( TemporalType . TIMESTAMP )
@Column ( name = "register" , nullable = false , length = 19 )
@NotNull
private Date register ;
@Column ( name = "days_to_use" , nullable = false )
@NotNull
private int daysToUse ;
@Column ( name = "operative" , nullable = false , length = 1 )
@NotNull
private Character operative ;
@Column ( name = "TYPE" , nullable = false , length = 2 )
@NotNull
private String type ;
@Column ( name = "PRICE" )
private BigDecimal price ;
@Column ( name = "DAYS_FREE" )
private Long daysFree ;
@OneToMany ( fetch = FetchType . LAZY , mappedBy = "plan" )
private List < AffiliationPlan > userPlans = new ArrayList < AffiliationPlan > ( 0 );
public String getName () {
return this . name ;
}
public void setName ( String name ) {
this . name = name ;
}
public String getDescription () {
return this . description ;
}
public void setDescription ( String description ) {
this . description = description ;
}
public Date getRegister () {
return this . register ;
}
public void setRegister ( Date register ) {
this . register = register ;
}
public int getDaysToUse () {
return this . daysToUse ;
}
public void setDaysToUse ( int daysToUse ) {
this . daysToUse = daysToUse ;
}
public Character getOperative () {
return this . operative ;
}
public void setOperative ( Character operative ) {
this . operative = operative ;
}
public List < AffiliationPlan > getUserPlans () {
return this . userPlans ;
}
public void setUserPlans ( List < AffiliationPlan > userPlans ) {
this . userPlans = userPlans ;
}
public String getType () {
return type ;
}
public void setType ( String type ) {
this . type = type ;
}
public BigDecimal getPrice () {
return price ;
}
public void setPrice ( BigDecimal price ) {
this . price = price ;
}
public Long getDaysFree () {
return daysFree ;
}
public void setDaysFree ( Long daysFree ) {
this . daysFree = daysFree ;
}
}
Agora não sei mais o que pode ser, não achei nem no google algo conclusivo…
rimolive 1 de jul. de 2009
Retire a anotação @Factory da classe PlanAction
@Name ( "planAction" )
@Scope ( ScopeType . EVENT )
public class PlanAction {
public List < Plan > factorySlctAvailablePlans () {
return planService . findAvailables ();
}
Altere o nome do método para ficar no padrão Javabean (getFactorySlctAvailablePlans)
public List < Plan > getFactorySlctAvailablePlans () {
return planService .findAvailables () ;
}
E depois tente rodar.
giulianocosta 1 de jul. de 2009
rimolive:
1. Retire a anotação @Factory da classe PlanAction
@Name ( "planAction" )
@Scope ( ScopeType . EVENT )
public class PlanAction {
public List < Plan > factorySlctAvailablePlans () {
return planService . findAvailables ();
}
Altere o nome do método para ficar no padrão Javabean (getFactorySlctAvailablePlans)
public List < Plan > getFactorySlctAvailablePlans () {
return planService .findAvailables () ;
}
E depois tente rodar.
Mesmo erro! Nota que não estou usando EJBs. Na verdade da um erro de NullPointerException usando dessa forma:
java . lang . NullPointerException
at org . jboss . seam . persistence . HibernatePersistenceProvider . getSession ( HibernatePersistenceProvider . java : 369 )
at org . jboss . seam . persistence . HibernatePersistenceProvider . getId ( HibernatePersistenceProvider . java : 177 )
at org . jboss . seam . framework . EntityIdentifier .< init > ( EntityIdentifier . java : 13 )
at org . jboss . seam . ui . JpaEntityLoader . createIdentifier ( JpaEntityLoader . java : 29 )
at org . jboss . seam . ui . AbstractEntityLoader . put ( AbstractEntityLoader . java : 46 )
at sun . reflect . NativeMethodAccessorImpl . invoke0 ( Native Method )
at sun . reflect . NativeMethodAccessorImpl . invoke ( NativeMethodAccessorImpl . java : 39 )
at sun . reflect . DelegatingMethodAccessorImpl . invoke ( DelegatingMethodAccessorImpl . java : 25 )
at java . lang . reflect . Method . invoke ( Method . java : 597 )
at org . jboss . seam . util . Reflections . invoke ( Reflections . java : 22 )
at org . jboss . seam . intercept . RootInvocationContext . proceed ( RootInvocationContext . java : 32 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 56 )
at org . jboss . seam . transaction . RollbackInterceptor . aroundInvoke ( RollbackInterceptor . java : 28 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 68 )
at org . jboss . seam . transaction . TransactionInterceptor $ 1. work ( TransactionInterceptor . java : 97 )
at org . jboss . seam . util . Work . workInTransaction ( Work . java : 47 )
at org . jboss . seam . transaction . TransactionInterceptor . aroundInvoke ( TransactionInterceptor . java : 91 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 68 )
at org . jboss . seam . core . MethodContextInterceptor . aroundInvoke ( MethodContextInterceptor . java : 44 )
at org . jboss . seam . intercept . SeamInvocationContext . proceed ( SeamInvocationContext . java : 68 )
at org . jboss . seam . intercept . RootInterceptor . invoke ( RootInterceptor . java : 107 )
at org . jboss . seam . intercept . JavaBeanInterceptor . interceptInvocation ( JavaBeanInterceptor . java : 185 )
at org . jboss . seam . intercept . JavaBeanInterceptor . invoke ( JavaBeanInterceptor . java : 103 )
at org . jboss . seam . ui . JpaEntityLoader_ $$ _javassist_seam_12 . put ( JpaEntityLoader_ $$ _javassist_seam_12 . java )
at org . jboss . seam . ui . EntityConverter . getAsString ( EntityConverter . java : 65 )
at org . jboss . seam . ui . converter . PrioritizableConverter . getAsString ( PrioritizableConverter . java : 67 )
at org . jboss . seam . ui . converter . ConverterChain . getAsString ( ConverterChain . java : 126 )
at com . sun . faces . renderkit . html_basic . HtmlBasicRenderer . getFormattedValue ( HtmlBasicRenderer . java : 448 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . renderOption ( MenuRenderer . java : 480 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . renderOptions ( MenuRenderer . java : 772 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . renderSelect ( MenuRenderer . java : 832 )
at com . sun . faces . renderkit . html_basic . MenuRenderer . encodeEnd ( MenuRenderer . java : 280 )
at javax . faces . component . UIComponentBase . encodeEnd ( UIComponentBase . java : 861 )
at org . jboss . seam . ui . util . cdk . RendererBase . renderChild ( RendererBase . java : 190 )
at org . jboss . seam . ui . util . cdk . RendererBase . renderChildren ( RendererBase . java : 166 )
at org . jboss . seam . ui . renderkit . ValidateAllRendererBase . doEncodeChildren ( ValidateAllRendererBase . java : 33 )
at org . jboss . seam . ui . util . cdk . RendererBase . encodeChildren ( RendererBase . java : 92 )
at javax . faces . component . UIComponentBase . encodeChildren ( UIComponentBase . java : 837 )
at org . ajax4jsf . renderkit . RendererBase . renderChild ( RendererBase . java : 277 )
at org . ajax4jsf . renderkit . RendererBase . renderChildren ( RendererBase . java : 258 )
at org . ajax4jsf . renderkit . RendererBase . renderChild ( RendererBase . java : 279 )
at org . ajax4jsf . renderkit . RendererBase . renderChildren ( RendererBase . java : 258 )
at org . ajax4jsf . renderkit . html . AjaxOutputPanelRenderer . encodeChildren ( AjaxOutputPanelRenderer . java : 78 )
at javax . faces . component . UIComponentBase . encodeChildren ( UIComponentBase . java : 837 )
at javax . faces . component . UIComponent . encodeAll ( UIComponent . java : 930 )
at javax . faces . component . UIComponent . encodeAll ( UIComponent . java : 933 )
at com . sun . facelets . FaceletViewHandler . renderView ( FaceletViewHandler . java : 592 )
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 : 110 )
at com . sun . faces . lifecycle . Phase . doPhase ( Phase . java : 100 )
at com . sun . faces . lifecycle . LifecycleImpl . render ( LifecycleImpl . java : 139 )
at javax . faces . webapp . FacesServlet . service ( FacesServlet . java : 266 )
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 . RewriteFilter . doFilter ( RewriteFilter . java : 63 )
at org . jboss . seam . servlet . SeamFilter $ FilterChainImpl . doFilter ( SeamFilter . java : 69 )
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 . jboss . seam . web . CharacterEncodingFilter . doFilter ( CharacterEncodingFilter . java : 42 )
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 : 368 )
at org . ajax4jsf . webapp . BaseFilter . doFilter ( BaseFilter . java : 495 )
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 . 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 . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 233 )
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 191 )
at org . apache . catalina . authenticator . AuthenticatorBase . invoke ( AuthenticatorBase . java : 433 )
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 128 )
at org . apache . catalina . valves . ErrorReportValve . invoke ( ErrorReportValve . java : 102 )
at org . apache . catalina . core . StandardEngineValve . invoke ( StandardEngineValve . java : 109 )
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 286 )
at org . apache . coyote . http11 . Http11Processor . process ( Http11Processor . java : 845 )
at org . apache . coyote . http11 . Http11Protocol $ Http11ConnectionHandler . process ( Http11Protocol . java : 583 )
at org . apache . tomcat . util . net . JIoEndpoint $ Worker . run ( JIoEndpoint . java : 447 )
at java . lang . Thread . run ( Thread . java : 619 )
Conforme diz aqui [http://docs.jboss.org/seam/latest/reference/en-US/html/controls.html#d0e28276 ], acrescentei essa linha no meu components.xml:
< ui : jpa - entity - loader entity - manager = "#{em}" />
Dai muda o erro para aquele “# org.jboss.seam.Entity$NotEntityException: Not an entity class: java.lang.Long”.
Já não sei mais nada… Imagino que seja por algum problema de transação já que estou usando:
<persistence:entity-manager-factory
name="facJpa"
persistence-unit-name="facJpa"/>
<persistence:managed-persistence-context
name="em"
auto-create="true"
entity-manager-factory="#{facJpa}"/>
<transaction:entity-transaction entity-manager="#{em}"/>
carlos.scuna 17 de dez. de 2009
Cara…
você já deve ter resolvido este problema, mas em todo caso, nunca use rendered diretamente no componente.
Acredito que dê problema na montagem da árvore de componentes.
Tente colocar um h:panelGroup ou um s:fragment em volta do componente, e use o rendered nele.
Abraço