Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Architecture & Framework » Struts  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:[请教]在struts中如何实现动态的下拉选框 [Re:inclear]
inclear

阿泠



发贴: 18
积分: 0
于 2005-06-09 13:07 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
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吗?还是其他什么?



我的Blog:阿泠的自省札记
==我们都在自己的路上坚持梦想==

话题树型展开
人气 标题 作者 字数 发贴时间
15522 [请教]在struts中如何实现动态的下拉选框 inclear 112 2005-06-07 11:18
13268 Re:[请教]在struts中如何实现动态的下拉选框 inclear 2135 2005-06-09 13:07
12769 Re:[请教]在struts中如何实现动态的下拉选框 jigsaw 162 2005-06-09 16:00
12775 Re:[请教]在struts中如何实现动态的下拉选框 floater 41 2005-06-09 22:09
13738 Re:[请教]在struts中如何实现动态的下拉选框 EricLiu 45 2005-07-05 17:19

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   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