[jboss-user] [JBoss Seam] - IllegalArgumentException: value of context variable is not a

SmokingAPipe do-not-reply at jboss.com
Tue Dec 5 00:40:13 EST 2006


What could cause this exception:

Caused by: java.lang.IllegalArgumentException: value of context variable is not an instance of the component bound to the context variable: price
  |         at org.jboss.seam.Component.getInstance(Component.java:1639)
  |         at org.jboss.seam.Component.getInstance(Component.java:1594)
  |         at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:46)
  |         at org.apache.myfaces.custom.redirectTracker.RedirectTrackerVariableResolver.resolveVariable(RedirectTrackerVariableResolver.java:41)
  |         at org.apache.myfaces.custom.security.SecurityContextVariableResolver.resolveVariable(SecurityContextVariableResolver.java:45)
  |         at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42)
  |         at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:574)
  |         at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
  |         at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
  |         at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383)
  |         ... 40 more
  | 

This is totally baffling to me.  I have a form which displays fine, and then when I try to change the price.foo setting and hit "submit", I get a "EvaluationException: Cannot get value for expression '#{price.foo}'" which is caused by the exception above.

One possibility is that I should write a data transfer object and put that in my stateful session bean, and when the user clicks "submit", the session bean will copy the info from the data transfer object into the persistent entity.  But I thought the entire purpose of Seam was to get rid of such ugly coding styles.  Any ideas?

This is with Jboss 4.05 JEMS beta 3, Seam 1.1rc2, and all in Java 6.

Any ideas would be appreciated.  If I'm going to have to write a bunch of data transfers objects, I might as well not use Seam, right?  But I don't see posts of other people doing that so I'm confused.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991189#3991189

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991189



More information about the jboss-user mailing list