2010-11-04 70 views
0

我正在使用java(Struts 1.2)。我的第一頁是登錄頁面。成功登錄後,顯示第二頁第二頁包含一個表單,其中一個字段是組合框。我希望這個組合框應該填充以便用戶可以選擇該選項。Java -Struts 1.2組合框問題

我已經嘗試了許多方法,如使用HTML:選項集合和html:optionsCollections等,但它顯示錯誤,如豆找不到。

任何機構都可以給我一個示例工作代碼。

感謝

+0

你從哪裏獲得值來填充組合框?數據庫?一個文字列表? – 2010-11-04 14:12:34

+0

文字列表。 – pradeep 2010-11-04 14:18:54

+0

您是否試過Google?爲了幫助你,我需要看看從登錄到顯示的邏輯是什麼(以及哪些操作被調用)。 – 2010-11-04 14:22:17

回答

0
<% 
List< LabelValueBean> hourList = new ArrayList<LabelValueBean>(); 
pageContext.setAttribute("hourList", hourList); 
%> 

<html:select property="endhour"> 
    <html:options collection="hourList" property="value" labelProperty="label" /> 
<html:select> 

上的HTML屬性:選擇是一個在你的形式,當用戶選擇從ComboBox東西,將被填滿。

---抱歉,無法格式化,顯示代碼清楚

+0

我必須在登錄表單(前一頁)的操作類中或將顯示組合框的jsp頁面的操作類中編寫此代碼。我通過在前一頁的action類中編寫代碼嘗試過,但是當我在下一頁使用屬性say hourList時,它顯示錯誤,如bean not found – pradeep 2010-11-04 14:36:26

+0

代碼應該寫在您的JSP中。如果你看看這個,你可以看到它是一個scriptlet。 hourList(ArrayList對象)需要來自您的bean,可能來自您的會話或使用上面的代碼並填充hourList。無論第一頁如何(如您所說的登錄頁面),您都需要填充bean以準備下一頁。 – mezzie 2010-11-04 21:37:17

0

是在HTML要求使用HTML標籤:形式和兩者都必須有一個相關的豆,你在struts.xml中配置它。

<form-beans> 
    <form-bean name="LoginForm" 
     type="struts.forms.LoginForm" /> 
</form-beans> 

<action name="LoginForm" path="/logon" type="common.Logon" 
     parameter="cmd"> 
     <forward name="error" path="/html/login/login.jsp?login_error=1" /> 
     <forward name="success" path="/login.do" />    
</action> 
0

我可以告訴大家的是:

  • 一旦你成功登錄(通過你的LoginAction在這個例子中),讓你的行動推進到另一個動作,這將填充您的列表。
  • 填充你的清單,它(保存在請求中像這樣,request.setAttribute("contents", list)。現在正向你的頁面的JSP文件。
  • 在JSP文件中,你將不得不讀你contents(存儲在request.setAttribute法)做這個效果的東西:

例:

<html:select property="selectedValue"> 
    <html:options name="contents" /> 
</html:select> 

更多信息Struts的HTML標籤庫