Topic: [请教]在struts中如何实现动态的下拉选框

  Print this page

1.[请教]在struts中如何实现动态的下拉选框 Copy to clipboard
Posted by: inclear
Posted on: 2005-06-07 11:18

初学struts,总感觉不入门
举个简单例子:一个网上书店的程序,在首页上要放置一个图书查询,其中包含一个图书类别的下拉选框,当然,其内容是从数据库中读取的,请问,在struts中该怎么实现这一点呢?
先谢谢大家啦^_^

2.Re:[请教]在struts中如何实现动态的下拉选框 [Re: inclear] Copy to clipboard
Posted by: inclear
Posted on: 2005-06-09 13:07

5555555555,一直都没有人回答呀,是不是我问的不合适?
不过,我很幸运地在网上看到一篇相关的文章,提供了一个实现的方法,不过我还没有看懂,各位前辈给小M指点一下吧~~~
文章节选如下:
假设我们要作 一个linux 用户调查表,需要统计用用户的姓名,性别,email,用户年龄段,地址(包括邮编,地址,城市)。
另外要求填写一份简单的问卷。
3. 页面请求过程
/Survey/---->/index.jsp---->/Welcome.do--->/NewSurvey.do---->/survey.jsp--->/SubmitSurvey.do--->/result.jsp
其中/Survey是定义的项目的ContextPath, 当访问/Survey时,根据web.xml中的定义找到webcome file list文件,本例中是index.jsp,这个文件只有一行主要代码,将请求转向/Welcome.do ,这个再把请求转向/NewSurvey.do(参考struts-config.xml配置文件),/NewSurvey.do的处理类是 NewSurveyAction.java, 为调查表作一些预处理,然后转到survey.jsp页面,显示调查表,表单提交后由/submitSurvey.do (SubmitSurveyAction.java)来处理提交数据,最后把结果显示在result.jsp中。

本例中,我们不必关心这一流程大多细节。我们主要集中在表单的显示和提交过程。
我们主要关心的几个文件。
JSP:survey.jsp,result.jsp
java 源文件:SurveyForm.java,NewSurveyAction.java,SubmitSurveyAction.java
其中主要是SurveyForm.java和survey.jsp这两文件。
4、ActionForm设计
。。。。。。

下拉框的设计:年龄段

<html:select property="age">
</html:select>


查一下struts的api文档,可以看到select 中选项有3 taglib可以使用。
第一种直接使用把所有选项写在中间。

<html:option value="0-15">0-15</html:option>
<html:option value="15-20" >15-20</html:option>
<html:option value="20-30" >20-30</html:option>
<html:option value="20 or above">30 or above</html:option>



第二种:把选项放在一个Collection中(这里使用List).在实际项目中,更多的是可能数据来源于db,文件等。这种情况用得比较多。

<html:options collection="ageList" property="value" labelProperty="label"/>


把option放在list中的过程在NewSurveyAction.java中作处理

//prepare the age selector list.
List ageList =new ArrayList();
ageList.add(new LabelValueBean("0-15","0-15"));
ageList.add(new LabelValueBean("15-20","15-20"));
ageList.add(new LabelValueBean("20-30","20-30"));
ageList.add(new LabelValueBean("30 or above","30 or above"));
//
request.setAttribute("ageList",ageList);


第三种,把此list 作为SurveyForm 的一个属性.

<html:optionsCollection property="ageList" />


在SurveyForm 中添加ageList 的setter和getter.SurveyForm中作如下处理。

//the list can be a form property.
f.setAgeList(ageList);




但是我还没有完全看明白,例如,方法二中option放在list中的过程应该放在那个文件里呢?他提到的NewSurveyAction.java一般是用来做什么用的?是一个action吗?还是其他什么?

3.Re:[请教]在struts中如何实现动态的下拉选框 [Re: inclear] Copy to clipboard
Posted by: jigsaw
Posted on: 2005-06-09 16:00

well...well...wel...i strongly suggest u following the steps set by "Struts in Action". and try to read some doc on taglib before u rush to dynamic dropdown list.

4.Re:[请教]在struts中如何实现动态的下拉选框 [Re: inclear] Copy to clipboard
Posted by: floater
Posted on: 2005-06-09 22:09

google struts menu, matt raible did this.

5.Re:[请教]在struts中如何实现动态的下拉选框 [Re: inclear] Copy to clipboard
Posted by: EricLiu
Posted on: 2005-07-05 17:19

我的BLog里面有:
http://www.blogjava.net/steelhand


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923