[jboss-user] [JBoss Seam] - Injection of non-Entity bean failing

BrettG do-not-reply at jboss.com
Thu Feb 7 14:23:55 EST 2008

I have a simple application that I've set up, with a feature to perform searches.  I've created a POJO to hold the search values:

  | @Name("sCriteria")
  | public class SearchCriteria implements java.io.Serializable{
  |   private static final long serialVersionUID = 4249273907087086393L;
  |   private String orderId;
  |   private String actNumber;
  | ...

I set the value on my .xhtml page:

  | <h:panelGrid columns="2">
  | <h:outputText value="Act Number"/>
  | <h:inputText value="#{sCriteria.actNumber}"></h:inputText>
  | <h:outputText value="Order Number"/>
  | <h:inputText value="#{sCriteria.orderId}"></h:inputText>
  | <h:commandButton type="submit" action="#{spojoAction.doAction(sCriteria)}" value="Search Orders - Param"></h:commandButton>
  | <h:commandButton type="submit" action="#{spojoAction.doAction}" value="Search Orders - @In"></h:commandButton>

When I debug the code, and look at, in this case a Seam POJO:

  | @Name("spojoAction")
  | public class SPOJOAction {
  |   @Logger
  |   Log log;
  |   private OrderStaticDataLiteDao orderStaticDataLiteDao;
  |   @In
  |   private SearchCriteria sCriteria;
  |   @Out(required = false, scope = ScopeType.PAGE)
  |   List<OrderStaticDataLite> ordersList;
  |   public String doAction(){
  |     orderStaticDataLiteDao = new OrderStaticDataLiteDao();
  |     return null;
  |   }
  |   public String doAction(SearchCriteria searchCriteria){
  |     orderStaticDataLiteDao = new OrderStaticDataLiteDao();
  |     return null;
  |   }

the values I set on my .xhtml page are null.  The interesting part is that if I examine either the @In-jected object, or the one passed in via the parameter(depending on the button clicked), the values I entered on the .xhtml page seem to be present in the handler.  IE, both sCriteria and searchCriteria show the following:

sCriteria.handler.bean.actNumber = the value entered on the .xhtml page
sCriteria.handler.bean.orderId = the value entered on the .xhtml page
searchCriteria.handler.bean.actNumber =  the value entered on the .xhtml page
searchCriteria.handler.bean.orderId =  the value entered on the .xhtml page

It seems to me that something is strange with the interception of these values.  Does anyone have any ideas?

Note, I've also tried adding @Interceptors(SeamInterceptor.class) at the top of my Seam pojo, but saw the same behavior.


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

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

More information about the jboss-user mailing list