[jboss-user] [JBoss Seam] - outputlink order problem

nicolasb do-not-reply at jboss.com
Tue May 29 09:09:46 EDT 2007


hello

i really don't get the reason for this strange problem:
first my environment:

the entity a simple foto with a number attribute


  | import java.io.Serializable;
  | 
  | import javax.persistence.*;
  | 
  | import org.jboss.seam.annotations.Name;
  | 
  | @Entity
  | @Name("photo")
  | public class Photo implements Serializable
  | {
  | 	private static final long serialVersionUID = 1L;
  | 	
  | 	@Id @GeneratedValue
  | 	private long id;
  | 	private String number;
  | 	
  | 	public long getId() { return id;}
  | 	public void setId(long id) { this.id = id; }
  | 
  | 	public String getNumber() { return number; }
  | 	public void setNumber(String number) { this.number = number; }
  | 
  | }
  | 
  | 

the facelet


  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  | <html xmlns="http://www.w3.org/1999/xhtml"
  |       xmlns:ui="http://java.sun.com/jsf/facelets"
  |       xmlns:h="http://java.sun.com/jsf/html"
  |       xmlns:f="http://java.sun.com/jsf/core"
  |       xmlns:s="http://jboss.com/products/seam/taglib">
  | <head>    
  | 	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  | </head>
  | <body>
  | 
  | <h:form>
  | 	<h:inputText value="#{photo.number}"/>
  | 	<h:commandButton type="submit" value="Add" action="#{formAction.addItem}"/>
  | </h:form>
  |  
  | <h:outputLink value="test.html" rendered="#{myservice.value == true}">Is True</h:outputLink> 
  | 			
  | </body>
  | </html>
  | 
  | 

with the corrosponding pages def.


  |    <page view-id="/test.xhtml">  
  | 	   <action execute="#{myservice.load}"/>
  |    </page>
  | 

and the bean from where the page gets the data


  | 
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.Logger;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.annotations.Scope;
  | import org.jboss.seam.log.Log;
  | 
  | 
  | @Name("myservice")
  | @Scope(ScopeType.EVENT)
  | 
  | public class MyServiceBean
  | {
  | 	   @Logger
  | 	   private Log log;
  | 	   
  | 	   private boolean value = true;
  | 	   public boolean getValue() { return this.value; }
  | 	   
  | 	   @Out(required=false)
  | 	   private Photo photo;
  | 	   public Photo getPhoto()  { return this.photo; }
  | 	   
  | 	   public void load()
  | 	   {
  | 		   log.info("loading");
  | 		   
  | 		   this.photo = new Photo();
  | 		   this.photo.setNumber("testPhoto");
  | 	   }
  | }
  | 
  | 

so when the page is loaded the method load is executed and the photo is being outjected. which i then access in my facelet form


now to the strange part:


  | import javax.ejb.Remove;
  | import javax.ejb.Stateful;
  | 
  | import org.jboss.seam.annotations.Destroy;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Logger;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.log.Log;
  | 
  | @Stateful
  | @Name("formAction")
  | 
  | public class FormActionBean implements FormAction
  | {
  | 	@Logger
  |     private Log log;	
  | 	
  |     @In
  |     Photo photo;
  | 
  | 	public void addItem() 
  | 	{
  | 		log.info("adding: "+photo.getNumber());
  | 	}
  | 
  | 	@Remove @Destroy
  | 	public void Destroy() {}
  | 	
  | }
  | 
  | public interface FormAction 
  | {
  | 	public void addItem();
  | 	public void Destroy();	
  | }
  | 
  | 


when i try to submit the form and access the addItem method it won't work.
an exception is thrown because @In is not non-null
BUT it works when i put the outputlink above the form. 
i found out its the rendered attribute which messes it up. if i omit it there won't be an error

i hope someone can help me i tried to post all the necessary files

thanks in advance

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

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



More information about the jboss-user mailing list