谈select列表框
2008-02-23 08:07:15来源:互联网 阅读 ()
在JSP中用到select列表框就如家常便饭般的常见!
以下是我在JSP页面中对此的一些心得(通常会用到Struts Hebernate Spring):
我想大概有以下几种方法可以在JSP中得到我们想要的select列表框
1:通过使用HTML中使用普通的select定义
<option value=1>aa</option>
<option value=2>bb</option>
<option value=3>cc</option>
</select>
当然这样可以实现,但是一旦用到相关的DB操作时,代码中的业务,持久化,显示处理各部分的代码就会全部混到一起.
2:通过Struts的logic标签
<option value=\'<bean:write name=types property=id/>\'>
<bean:write name=types property=name/>
</option>
</logic:iterate>
其中types代表了存放集合数据的一个句柄,在option中用到它.type是指你集合中的对象.在下面的option中的一些属性值实际上就是指此对象中的字段.比如说property=id, property=name.logic:iterate中的name属性一般是从session,request中得到的,所以对于cglist,很可能在你的action中,有如下的代码:
or
session.setAttribute(cglist,categorys);
然后就是将其在bean:write标签中输出来.这种方法相比前一种对于DB操作显然要方便,但是假如要在select中加入一些JS的话就比较麻烦了,比如要保存它上次的选择,用JS来实现显得有些麻烦!
3:通过Struts的html:select标签,将此标签内置于html:form内(个人认为,最大的好处莫过于它可以自动保存上次的记录了!).
<html:optionsCollection property=typeIds label=name value=id/>
</html:select>
typeId为你Struts的ActionForm中对应的一个属性,typeIds为ActionForm中的一个对象数组.name,id均为此数组中对象的属性.lable在optionsCollection表示在select中要显示的内容,value则表示其对应的值.
要注意的是此对象数组记得要全部初始化,比如说你定义的此对象数组若长度为7而你只实例化了6个,则会出现类似
org.apache.jasper.JasperException: No bean specified
的异常!
此方法不但对DB操作方便,而且在对保存记录方面也做得不错呢.在Struts中JSP页面中使用JS时,还老是出现一些意想不到的错误(不知道为什么).
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash