[jboss-user] [JBoss Seam] - Seam Pros, Newbie needs help. DataTable

indyJones do-not-reply at jboss.com
Sun Aug 26 15:08:50 EDT 2007


Seam: 2.0.0BETA1
JBoss: 4.2.0
Facelets

I am having problems with a very simple datatable.

Here is my code....

Bean


  | 
  | @Name("usermanager")
  | @Stateful
  | @Scope(SESSION)
  | @Restrict("#{identity.loggedIn}")
  | public class UserManager implements UserManagerInterface {
  | 
  | 	@In
  | 	private User user;
  | 
  | 	@In
  | 	private Session inetworkDatabase;
  | 
  | 	@Logger 
  | 	Log log;
  | 	
  | 	@DataModelSelection("users")
  | 	@Out(required = false)
  | 	private User selectedUser;
  | 	
  | 	@DataModel("users")
  | 	private List<User> users;
  | 	
  | 	@Factory("users")
  | 	public List<User> getUsers() {
  | 		
  | 		List<User> retUsers = null;
  |     	
  |     	try{
  |         	   		
  |     		if(user != null){
  |     		 	    			
  |     			Criteria criteria = inetworkDatabase.createCriteria(User.class);
  |     			
  |     			retUsers = criteria.list();
  |     		
  |     		}else{
  |     			
  |     		}
  |     		
  |     	}catch(Exception e){
  |     		
  |     	}
  |     		
  |         return retUsers;		
  | 	}
  | 	
  | 	public void editUser(){
  | 			
  | 		log.info("**************************************** ");
  | 		
  | 	}
  | 	
  | 	@Remove
  | 	public void destroy() { }
  | }
  | 
  | 

XHTML



  | 
  | <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  | 
  | <ui:composition xmlns="http://www.w3.org/1999/xhtml"
  |                 xmlns:s="http://jboss.com/products/seam/taglib"
  |                 xmlns:ui="http://java.sun.com/jsf/facelets"
  |                 xmlns:f="http://java.sun.com/jsf/core"
  |                 xmlns:h="http://java.sun.com/jsf/html"
  |                 xmlns:rich="http://richfaces.ajax4jsf.org/rich"
  |                 xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
  |                 template="layout/template.xhtml">
  | 
  | 	<ui:define name="body">
  | 				
  | 		<a4j:form ajaxSubmit="true">
  | 				
  | 			<rich:dataTable id="users"
  | 							rows="10"
  | 							onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
  | 							onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
  | 							var="usr"
  | 							value="#{users}">
  | 								
  | 				<f:facet name="header">
  | 					<rich:columnGroup>
  | 						<rich:column><h:outputText value="Edit User" /></rich:column>
  | 						<rich:column><h:outputText value="User Name" /></rich:column>
  | 						<rich:column><h:outputText value="First Name" /></rich:column>
  | 						<rich:column><h:outputText value="Middle Name" /></rich:column>
  | 						<rich:column><h:outputText value="Last Name" /></rich:column>																
  | 					</rich:columnGroup>              
  | 				</f:facet>
  | 				
  | 				<rich:column>
  | 					<s:link action="#{usermanager.editUser}" value="#{usr.id}"/>
  |     			</rich:column>
  |     				
  | 				<rich:column><h:outputText value="#{usr.username}" /></rich:column>
  | 				<rich:column><h:outputText value="#{usr.firstname}" /></rich:column>
  | 				<rich:column><h:outputText value="#{usr.middlename}" /></rich:column>
  | 				<rich:column><h:outputText value="#{usr.lastname}" /></rich:column>
  | 							
  | 			</rich:dataTable>
  | 				
  | 			<rich:spacer height="20" />
  | 				
  | 			<rich:datascroller for="users" maxPages="50" />
  | 					
  | 			<rich:tabPanel switchType="client">
  | 						
  | 				<rich:tab label="Information">
  | 							
  | 					<h:panelGrid columns="2">
  | 							
  | 						<h:outputText value="First Name" />
  | 						<h:inputText value="x" id="fname" />
  | 
  | 						<h:outputText value="Middle Name" />
  | 						<h:inputText value="b" id="mname" />
  | 
  | 						<h:outputText value="Last Name" />
  | 						<h:inputText value="c" id="lname" />
  | 							
  | 					</h:panelGrid>
  | 							
  | 				</rich:tab>
  | 						
  | 				<rich:tab label="Roles">
  | 					
  | 					this is where the users roles are listed
  | 				
  | 				</rich:tab>						
  | 						
  | 			</rich:tabPanel>
  | 					
  | 		</a4j:form>
  | 				        
  | 	</ui:define> 
  | 
  | </ui:composition>
  | 
  | 

Every thing is ok at startup...

But when i click on the slink, i get this...


  | 
  | 14:56:56,515 ERROR [SeamPhaseListener] uncaught exception
  | javax.el.ELException: javax.ejb.EJBException: java.lang.ClassCastException: java.util.ArrayList cannot be cast to javax.faces.model.DataModel
  | 
  | 

Why is that? 

I know this is a pretty easy question, my apologies, but any help would be really appreciated...

Thanks

indy

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

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



More information about the jboss-user mailing list