[jboss-user] [JBoss Seam] - Fill selectOneMenu on page load.
grdzeli_kaci
do-not-reply at jboss.com
Mon Feb 19 01:13:23 EST 2007
hi all, i'm newbie in seam.
i've one simple question. (i've seam documentation : seam_refference.pdf but could't resolv the problem)
ok, i have login page and there are some selectOneMenu - components. for example applications or languages. i need fill them on page sturtup from database. is there any doc or example which can help me ? or could anybody help me how to do it?
1.here is my login.xhtml file :
| <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"
| template="layout/template.xhtml">
|
| <ui:define name="body">
| <h:form id="loginForm">
| <table width="400" cellpadding="5" cellspacing="0" style="border: 1px solid #9e2629">
| <tr>
| <td class="LogonText" colspan="2" align="center">Login to System</td>
| </tr>
| <tr>
| <td class="td_new">
| <table width="100%" cellpadding="5" cellspacing="0" border="0">
| <tr>
| <td class="td_new" rowspan="5"><h:graphicImage value="/images/login_pic.gif"/></td>
| <td class="td_new">UserName</td>
| <td class="td_new">
| <h:inputText styleClass="font_style" value="" />
| </td>
|
| </tr>
|
| <tr>
| <td class="td_new">Password</td>
| <td class="td_new">
| <h:inputSecret styleClass="font_style" value="" />
| </td>
|
| </tr>
|
| <tr>
| <td class="td_new">Application</td>
| <td class="td_new">
| <h:selectOneMenu styleClass="font_style" value="">
| <!-- how i could write to fill this component? -->
| </h:selectOneMenu>
| </td>
|
| </tr>
|
| <tr>
| <td class="td_new">Language</td>
| <td class="td_new">
| <h:selectOneMenu styleClass="font_style" required="true" value="">
| <f:selectItems value="#{loginBean.langItems}" />
| <f:convertNumber type="number" />
| </h:selectOneMenu>
| </td>
|
| </tr>
| <tr>
| <td class="td_right" colspan="2">
| <h:commandButton id="LoginBtn"
| name="LoginBtn" class="Btn2"
| value="Login"
| onblur="return this.myonblur();"
| onfocus="return this.myonfocus();"
| onmouseout="return this.myonmouseout();"
| onmouseover="return this.myonmouseover();"/>
| <script type="text/javascript"><!--
| sjwuic_assign_button('loginForm:LoginBtn', defaultButtonStrings, true, false, false);
| //--></script>
| </td>
| <!--actionListener="" -->
| </tr>
| </table>
| </td>
| </tr>
| <tr>
| <td class="td_new" colspan="2"></td>
| </tr>
| <tr>
| <td class="td_new" colspan="2"></td>
| </tr>
| </table>
| </h:form>
| </ui:define>
| </ui:composition>
|
2. and here is my entity bean for application :
| @Entity
| @Table(name = "LANGUAGE")
| @Name("user")
| @Scope(ScopeType.SESSION)
| public class Language implements Serializable {
| @Id()
| @GeneratedValue(generator="LangIdGenerator")
| @SequenceGenerator(name = "LangIdGenerator", sequenceName = "SEQ_LANGUAGE_ID")
| @Column(name="LANGUAGE_ID", unique=true, nullable=false, precision=22)
| private Long languageId;
|
| @Column(name = "NAME")
| private String name;
|
| @Column(name = "SHORTNAME")
| private String shortname;
|
| @Lob
| @Column(name = "IMAGE")
| private byte [] image;
|
| @Lob
| @Column(name = "LOCALE")
| private byte [] locale;
|
| @Column(name = "REMARK")
| private String remark;
|
| @Column(name = "USER_ID")
| private BigInteger userId;
|
| @Column(name = "REC_STATUS")
| private BigInteger recStatus;
|
| @Column(name = "REG_DATE")
| @Temporal(TemporalType.DATE)
| private Date regDate;
|
| @Column(name = "UPD_DATE")
| @Temporal(TemporalType.DATE)
| private Date updDate;
|
| @OneToMany(mappedBy = "languageId")
| private Collection<LanguageProperty> languagePropertyCollection;
|
| transient private List<SelectItem> applications;
|
| /** Creates a new instance of Language */
| public Language() {
| }
|
| /**
| * Creates a new instance of Language with the specified values.
| * @param languageId the languageId of the Language
| */
| public Language(Long languageId) {
| this.languageId = languageId;
| }
|
| /**
| * Gets the languageId of this Language.
| * @return the languageId
| */
| public Long getLanguageId() {
| return this.languageId;
| }
|
| /**
| * Sets the languageId of this Language to the specified value.
| * @param languageId the new languageId
| */
| public void setLanguageId(Long languageId) {
| this.languageId = languageId;
| }
|
| /**
| * Gets the name of this Language.
| * @return the name
| */
| public String getName() {
| return this.name;
| }
|
| /**
| * Sets the name of this Language to the specified value.
| * @param name the new name
| */
| public void setName(String name) {
| this.name = name;
| }
|
| /**
| * Gets the shortname of this Language.
| * @return the shortname
| */
| public String getShortname() {
| return this.shortname;
| }
|
| /**
| * Sets the shortname of this Language to the specified value.
| * @param shortname the new shortname
| */
| public void setShortname(String shortname) {
| this.shortname = shortname;
| }
|
| /**
| * Gets the image of this Language.
| * @return the image
| */
| public byte [] getImage() {
| return this.image;
| }
|
| /**
| * Sets the image of this Language to the specified value.
| * @param image the new image
| */
| public void setImage(byte [] image) {
| this.image = image;
| }
|
| /**
| * Gets the locale of this Language.
| * @return the locale
| */
| public byte [] getLocale() {
| return this.locale;
| }
|
| /**
| * Sets the locale of this Language to the specified value.
| * @param locale the new locale
| */
| public void setLocale(byte [] locale) {
| this.locale = locale;
| }
|
| /**
| * Gets the remark of this Language.
| * @return the remark
| */
| public String getRemark() {
| return this.remark;
| }
|
| /**
| * Sets the remark of this Language to the specified value.
| * @param remark the new remark
| */
| public void setRemark(String remark) {
| this.remark = remark;
| }
|
| /**
| * Gets the userId of this Language.
| * @return the userId
| */
| public BigInteger getUserId() {
| return this.userId;
| }
|
| /**
| * Sets the userId of this Language to the specified value.
| * @param userId the new userId
| */
| public void setUserId(BigInteger userId) {
| this.userId = userId;
| }
|
| /**
| * Gets the recStatus of this Language.
| * @return the recStatus
| */
| public BigInteger getRecStatus() {
| return this.recStatus;
| }
|
| /**
| * Sets the recStatus of this Language to the specified value.
| * @param recStatus the new recStatus
| */
| public void setRecStatus(BigInteger recStatus) {
| this.recStatus = recStatus;
| }
|
| /**
| * Gets the regDate of this Language.
| * @return the regDate
| */
| public Date getRegDate() {
| return this.regDate;
| }
|
| /**
| * Sets the regDate of this Language to the specified value.
| * @param regDate the new regDate
| */
| public void setRegDate(Date regDate) {
| this.regDate = regDate;
| }
|
| /**
| * Gets the updDate of this Language.
| * @return the updDate
| */
| public Date getUpdDate() {
| return this.updDate;
| }
|
| /**
| * Sets the updDate of this Language to the specified value.
| * @param updDate the new updDate
| */
| public void setUpdDate(Date updDate) {
| this.updDate = updDate;
| }
|
| /**
| * Gets the languagePropertyCollection of this Language.
| * @return the languagePropertyCollection
| */
| public Collection<LanguageProperty> getLanguagePropertyCollection() {
| return this.languagePropertyCollection;
| }
|
| /**
| * Sets the languagePropertyCollection of this Language to the specified value.
| * @param languagePropertyCollection the new languagePropertyCollection
| */
| public void setLanguagePropertyCollection(Collection<LanguageProperty> languagePropertyCollection) {
| this.languagePropertyCollection = languagePropertyCollection;
| }
|
| /**
| * Returns a hash code value for the object. This implementation computes
| * a hash code value based on the id fields in this object.
| * @return a hash code value for this object.
| */
| @Override
| public int hashCode() {
| int hash = 0;
| hash += (this.languageId != null ? this.languageId.hashCode() : 0);
| return hash;
| }
|
| /**
| * Determines whether another object is equal to this Language. The result is
| * <code>true</code> if and only if the argument is not null and is a Language object that
| * has the same id field values as this object.
| * @param object the reference object with which to compare
| * @return <code>true</code> if this object is the same as the argument;
| * <code>false</code> otherwise.
| */
| @Override
| public boolean equals(Object object) {
| // TODO: Warning - this method won't work in the case the id fields are not set
| if (!(object instanceof Language)) {
| return false;
| }
| Language other = (Language)object;
| if (this.languageId != other.languageId && (this.languageId == null || !this.languageId.equals(other.languageId))) return false;
| return true;
| }
|
| /**
| * Returns a string representation of the object. This implementation constructs
| * that representation based on the id fields.
| * @return a string representation of the object.
| */
| @Override
| public String toString() {
| return "com.magti.seam.beans.billAdmin.Language[languageId=" + languageId + "]";
| }
| }
|
3. and also i have Local Stateless session bean
| @Local(BillAdminManagement.class)
| @Stateless
| @Name("billAdmin")
| public class BillAdminManagementBean implements BillAdminManagement{
|
| @PersistenceContext
| private EntityManager entManager;
|
| @Logger
| private Log log;
|
| public List<Language> getLanguages() throws Exception {
| try {
| List<Language> list = entManager.createNamedQuery("Language.getAllLanguages").getResultList();
| log.info("List Size = "+list.size());
| return null;
| } catch (Exception e) {
| log.error("Error While Getting Languages",e);
| throw e;
| }
| }
| }
|
how i can fill dropdownbox component from this method on page startup?
Regards,
Paata.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4018684#4018684
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4018684
More information about the jboss-user
mailing list