[jboss-user] [JBoss Seam] - h:selectOneMenu with s:selectItems not binding to anything

cdiggins do-not-reply at jboss.com
Tue Jan 15 15:15:38 EST 2008


I have an h:selectOneMenu that contains an s:selectItems and an ec:convertEntity. With or without the convertEntity, I can not get the property the selectOneMenu is bound to be anything other than null.

anonymous wrote : 
  | <h:selectOneMenu value="#{employee.siEmpType}">
  | 				  					<s:selectItems value="#{employeeTypeList}" 
  | 				  					var="empType" label="#{empType.siEmployeeTypeName}" 
  | 				  					noSelectionLabel="Select Type" />
  | 				  					<ec:convertEntity />
  | 			  					</h:selectOneMenu>
  | 

anonymous wrote : 
  | package com.savageservices.dobi.shared.entity;
  | 
  | import java.sql.Date;
  | import java.util.List;
  | 
  | import javax.persistence.CascadeType;
  | import javax.persistence.Column;
  | import javax.persistence.Entity;
  | import javax.persistence.FetchType;
  | import javax.persistence.GeneratedValue;
  | import javax.persistence.Id;
  | import javax.persistence.JoinColumn;
  | import javax.persistence.JoinTable;
  | import javax.persistence.ManyToMany;
  | import javax.persistence.ManyToOne;
  | import javax.persistence.Transient;
  | 
  | import org.jboss.seam.annotations.Name;
  | 
  | import com.savageservices.dobi.payroll.entity.SiClassification;
  | import com.savageservices.dobi.payroll.entity.SiEmployeeType;
  | import com.savageservices.dobi.payroll.entity.SiPayGroup;
  | 
  | @Entity
  | @Name("employee")
  | public class SiEmployee {
  | 	private Integer ADPID;
  | 	private String ADPEmpStatus;
  | 	private Date siCdlExpire;
  | 	@ManyToOne
  | 	@JoinColumn(name="siClassificationID")
  | 	private SiClassification siClassification;
  | 	@Transient
  | 	private Integer siClassificationID;
  | 	@ManyToOne
  | 	@JoinColumn(name="siEmployeeTypeID")
  | 	private SiEmployeeType siEmpType;
  | 	@Transient
  | 	private Integer siEmployeeTypeID;
  | 	@Id
  | 	@GeneratedValue
  | 	private Integer siEmployeeID;
  | 	@Column(length=255,name="ADPEmpName")
  | 	private String siEmployeeName;
  | 	@Column(length=2,name="ADPIncomeState")
  | 	private String siIncomeState;
  | 	private Date siMvrExpire;
  | 	@ManyToOne
  | 	@JoinColumn(name="siPayGroupID")
  | 	private SiPayGroup siPayGroup;
  | 	@Transient
  | 	private Integer siPayGroupID;
  | 	private Date siPayrollProcessInputDate;
  | 	private Date siPhysicalExpire;
  | 	@Column(length=2,name="ADPUnemploymentState")
  | 	private String siUnemploymentState;
  | 	@ManyToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
  | 	@JoinTable(name="SiEmployeeWorkingDepartment",
  | 			joinColumns=@JoinColumn(name="psDeptID"),
  | 			inverseJoinColumns=@JoinColumn(name="siEmployeeID"))
  | 	private List siWorkingDepts;
  | 	private Integer psDeptIDHome;
  | 	private Boolean siSetup;
  | 	private Double siDefaultPayRate;
  | 	@Transient
  | 	private String selectedDepartment;
  | 	
  | 	//GETTERS AND SETTERS
  |            ...
  | }
  | 

anonymous wrote : 
  | 
  | package com.savageservices.dobi.shared.session.impl;
  | 
  | import java.util.ArrayList;
  | import java.util.List;
  | 
  | import javax.ejb.Remove;
  | import javax.ejb.Stateful;
  | import javax.faces.model.SelectItem;
  | import javax.persistence.EntityManager;
  | import javax.persistence.PersistenceContext;
  | import javax.persistence.PersistenceContextType;
  | 
  | import org.jboss.seam.annotations.Begin;
  | import org.jboss.seam.annotations.Conversational;
  | import org.jboss.seam.annotations.Destroy;
  | import org.jboss.seam.annotations.End;
  | import org.jboss.seam.annotations.Factory;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.annotations.datamodel.DataModel;
  | import org.jboss.seam.annotations.datamodel.DataModelSelection;
  | 
  | import com.savageservices.dobi.payroll.entity.SiEmployeeType;
  | import com.savageservices.dobi.payroll.entity.SiPayGroup;
  | import com.savageservices.dobi.shared.converter.EmployeeConverter;
  | import com.savageservices.dobi.shared.entity.PsDepartment;
  | import com.savageservices.dobi.shared.entity.SiEmployee;
  | import com.savageservices.dobi.shared.entity.SiUser;
  | import com.savageservices.dobi.shared.session.Employee;
  | 
  | @Stateful
  | @Name("employeeBean")
  | @Conversational
  | public class EmployeeBean implements Employee {
  | 
  | 	@DataModelSelection
  | 	@Out(required=false)
  | 	@In(required=false)
  | 	private SiEmployee employee;
  | 	
  | 	@DataModel
  | 	private List  employeeList = new ArrayList();
  | 	
  | 	@PersistenceContext(type=PersistenceContextType.EXTENDED)
  | 	EntityManager em;
  | 	
  | 	@In(required=false)
  | 	SiUser user;
  | 	
  | 	@Destroy @Remove
  | 	public void destroy() {
  | 		// TODO Auto-generated method stub
  | 
  | 	}
  | 
  | 	@Begin(join=true)
  | 	public String newEmployee() {
  | 		employee = new SiEmployee();
  | 		return "newEmployee";
  | 	}
  | 
  | 	@End
  | 	public String saveEmployee() {
  | 		if(validate()){
  | 			//employee.setSiPayGroup(em.find(SiPayGroup.class, employee.getSiPayGroupID()));
  | 			//employee.setSiEmpType(em.find(SiEmployeeType.class, employee.getSiEmployeeTypeID()));
  | 			em.merge(employee);
  | 		}
  | 		setup();
  | 		return "employeeList";
  | 	}
  | 
  | 	public String selectEmployee() {
  | 		return "editEmployee";
  | 	}
  | 
  | 	@Factory("employeeList")
  | 	@SuppressWarnings("unchecked")
  | 	@Begin(join=true)
  | 	public void setup() {
  | 		employeeList.clear();
  | 		String sql = "FROM SiEmployee order by ADPEmpName";
  | 		employeeList = em.createQuery(sql).getResultList();
  | 
  | 	}
  | 	
  | 	private Boolean validate(){
  | 		return true;
  | 	}
  | 	
  | 	/** Adds a department to the employee as a working department */
  | 	@Begin(join=true)
  | 	public String addWorkingDepartment(){
  | 		//add the working department to the employee working department list
  | 		employee.getSiWorkingDepts().add((PsDepartment)em.createQuery("FROM PsDepartment where DEPTID='" + employee.getSelectedDepartment() + "' AND EFF_STATUS = 'A'").getResultList().get(0));
  | 		return "editEmployee";
  | 	}
  | 	
  | 	/**Returns a list of all employees for the current department for use in dropdowns */
  | 	@Begin(join=true)
  | 	public List getLoadEmployeesForCurrentDepartment(){
  | 		setup();
  | 		List employeeDropdown = employeeList;
  | 		return employeeDropdown;
  | 	}
  | 
  | }
  | 

My objective is to get the siEmpType property on the SiEmployee to reflect the object selected in the dropdown menu. Any help would be appreciated, thanks.

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

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



More information about the jboss-user mailing list