2010-11-04 36 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标签库