[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