a problem with SelectOneMenu
lcbdl888 Aug 18, 2008 7:27 PMHi,
I have a SelectOneMenu on my page. Everything is fine, except the default selected value of the menu is not the value in the database when I load the page. It is always null (Not Selected). Anybody can tell me why?
Thanks
<h:selectOneMenu id="service1" value="#{personHome.instance.serviceAssistant1}">
<s:selectItems value="#{codeTableManager.codeServiceAssistants}" var="sa"
label="#{sa.fullName}" noSelectionLabel="Not Selected"/>
<s:convertEntity />
<a:support reRender="service1Email" event="onchange"/>
</h:selectOneMenu>@Name("codeTableManager")
@AutoCreate
public class CodeTableManager {
@In
private EntityManager entityManager;
@In
CustomIdentity identity;
@SuppressWarnings("unchecked")
public List<CodeMarketingOffice> getCodeMarketingOffices() {
return entityManager.createQuery("select office from CodeMarketingOffice office").getResultList();
}
@SuppressWarnings("unchecked")
public List<CodeMarketingRep> getCodeMarketingReps() {
return entityManager.createQuery("select mr from CodeMarketingRep mr").getResultList();
}
@SuppressWarnings("unchecked")
public List<CodeMarketingRep> getCodeServiceAssistants() {
return entityManager.createQuery("select sa from CodeServiceAssistant sa").getResultList();
}
}@Entity
@Table(name="PERSON", uniqueConstraints=
@UniqueConstraint(columnNames={"USERID_TXT"}))
public class Person {
public enum Status {ACTIVE, INACTIVE, NOT_IN_LDAP}
@Id
@GeneratedValue
@Column(name="PERSON_ID")
private Long id;
@Column(name="FIRST_NAME_TXT", length=40)
@NotNull
private String firstName;
@Column(name="LAST_NAME_TXT", length=40)
@NotNull
private String lastName;
@Column(name="PRIMARY_PHONE_TXT", length=40)
@PhoneValid
private String primaryPhone;
@Column(name="SECONDARY_PHONE_TXT", length=40)
@PhoneValid
private String secondaryPhone;
@Column(name="WORK_EXTENSION_TXT", length=5)
private String workExtension;
@Column(name="USERID_TXT", length=10, unique=true)
private String userId;
@Column(name="EMAIL_ADDRESS_TXT", length=100)
@Email
private String emailAddress;
@Column(name="STATUS_CODE", length=10)
@Enumerated(EnumType.STRING)
private Status status = Status.ACTIVE;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="LAST_LDAP_SYNC_TS")
private Date lastLDAPSynch;
@Column(name="EMAIL_REMINDER_IND", nullable=false)
@NotNull
@Type(type="yes_no")
private boolean acceptEmail = true;
@Column(name = "PRODUCER_NAME", length = 40)
private String producerName;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "MARKETING_REP_ID")
private CodeMarketingRep marketingRep;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "SERVICE_ASSISTANT_ID1")
private CodeServiceAssistant serviceAssistant1;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "SERVICE_ASSISTANT_ID2")
private CodeServiceAssistant serviceAssistant2;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "OFFICE_ID")
private CodeMarketingOffice marketingOffice;
@Version
@Column(name="VERSION_NUM")
private Long version;
public Long getId() {
return id;
}
getters and setters ......