1.第一种:
<s:select list="{'aa','bb','cc'}" headerKey="00" headerValue="0"></s:select>
2.第二种:
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="-1">
3.第三种(从数据库读数据)
action中:
public class ServiceRelease {
private ProvidingService ps;
private List<ProvidingService> listPS = new ArrayList<ProvidingService>();
生成get()/set()方法
public String getServiceRelease(){//action,页面会调用此action
listPS = serviceManageService.getService(); //getService(); 是我查询数据库所有服务的方法
return "test"; //通过struts2跳转页面
}
}
struts2.xml文件中:
<package name="servicemanage" extends="default" namespace="/servicemanage">
<action name="servicerelease" class="serviceRelease"><!--serviceRelease我是通过spring配置action路径的,这可以直接写,如:com.hp.cop.servicemanage.action.ServiceRelease-->
<result name="test">
/testList.jsp <!--跳到testList.jsp页面-->
</result>
</package>
testList.jsp页面:
<body>
<s:action name="servicerelease!getServiceRelease" namespace="/servicemanage" id="bean" />
<s:select headerValue="--Please select--" headerKey="0"
list="#bean.listPS" name="" listKey="id" listValue="serviceName"></s:select>
</body>
***注意引入struts2的标签库
<%@ taglib prefix="s" uri="/struts-tags"%>
解析上面的代码:
<s:select>标签,解释下这个标签属性:
(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。
(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。
headerValue :
默认值value
headerKey :
默认name
即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1
list :
通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
name : 被选数据存放的位置(action中可以通过name值获取我们所选中的值)
listKey : 下拉选项的name
listValue : 下拉选项的value
listKey即对应于普通select标签中的value值, listValue即对应于普通select标签中的option所显示的值
value : 默认值
一个下拉列表往往是可以重复使用的,那么我们将它单独定义到一个action中,这里我的action的namespace是servicemanage,所以如我们上面定义的<s:action>标签:
name : 源数据名(这里我的为 servicerelease!getServiceRelease ,也就是 名称空间!action名(注意是感叹号))
namespace : 我们在struts.xml中定义的name(我定义的为 servicerelease)
id : 相当于别名(在后面调用该actiond的时候直接用#号使用)
分享到:
相关推荐
数据库课程设计数据库课程设计数据库课程设计数据库课程设计
外汇经纪CRM软件,全球前10强生产商排名及市场份额
BS EN 60068-2-5-2011.pdf
MS2磁化率系统操作手册
大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,历年美赛特等奖O奖论文
自动化测试装置
大华网络硬盘录像机用户手册
大型民营企业数字化转型综合解决方案.pptx
2024年中国5G智能手机背光模组行业研究报告
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
用于海关申报商品编码/HS编码信息
奥维互动地图软件安装包
《统计与数据分析基础》02数据采集
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
BIM+ESE数字化:低碳园区智慧能源数字化管理解决方案.pptx
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
样例数据及详细介绍:https://blog.csdn.net/li514006030/article/details/138510754
此试题是考试后回忆版本,你会发现是惊喜。恭喜你考个好成绩。
德勤:2024年技术趋势报告.pdf
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。