1 静态生成
<s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性别" headerKey="" headerValue="请选择性别"></s:select>
注解:这里从页面来静态(也就是在页面中写死啦)构造下拉选项,关键点是list="#{'0':'男','1':'女'}" 通过它实现的select的两个option 。headerKey指定缺省的选项"value",headerValue指定缺省的选项"text"。
2 action传递list过来
<s:select label="用户" name="user" list="userList" listKey="id" listValue="name" />
注解:这里通过一个list类型的对象来动态生成一个下拉列表。list="userList"表示action里有一个list<User>类型的userList属性。listKey="id"表示当前option的value从userList里的当前User对象的id属性取值。listValue="name"表示当前option的text从userList里的当前User对象的name属性取值。
1.第一个例子:
<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>
2.第二个例子:
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb">
3.第三个例子:
<%
java.util.HashMap map = new java.util.LinkedHashMap();
map.put(1,"aaa");
map.put(2,"bbb");
map.put(3,"ccc");
request.setAttribute("map",map);
request.setAttribute("aa","2");
%>
<s:select list="#request.map" label="abc" listKey="key" listValue="value"
value="#request.aa" headerKey="0" headerValue="aabb"></
s:select
>
headerKey headerValue 为设置缺省值
4.第四个例子
public class Program implements Serializable {
/** serialVersionUID */
private static final long serialVersionUID = 1L;
private int programid;
private String programName;
public int getProgramid() {
return programid;
}
public void setProgramid(int programid) {
this.programid = programid;
}
public String getProgramName() {
return programName;
}
public void setProgramName(String programName) {
this.programName = programName;
}
}
在 xxx extends extends ActionSupport {
private List<Program> programs ;
public List<Program> getPrograms() {
return programs;
}
public void setPrograms(List<Program> programs) {
this.programs = programs;
}
}
在jsp页面
<s:select list="programs " listValue="programName " listKey="programid " name="program" id="program"
headerKey="0l" headerValue=" " value="bean.programid "
></s:select>
红色部分为在action里面的list,黄色为<option value="xxx">value</option>对应bean里面的字段programName
绿色为<option value="xxx",对应bean里面的字段programid
紫色为设定select被选中的值,s:select 会自动在 bean选中 key对应的值
分享到:
相关推荐
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
此外,Struts标签库还包括`<html:option>`和`<html:optionsCollection>`等标签,它们分别用于在`<html:select>`中定义选项,以及从集合或列表中动态生成选项。 总结来说,Struts标签极大地简化了JSP页面的编写,...
- Struts2的标签不仅限于基本的HTML元素,还支持条件语句(如`s:if`,`s:else`),循环(`s:iterator`),选择(`s:select`,`s:checkbox`,`s:radio`)等,使开发者能更灵活地控制页面逻辑。 - 另外,Struts2的...
### Java框架技术学习笔记 #### 一、框架技术概述 在现代软件开发中,使用框架可以极大地提高开发效率,减少重复工作。对于Java Web开发来说,Struts、Hibernate、Spring和Ajax是四个非常重要的框架。 - **SSH...
7. **Struts2标签库**:掌握各种Struts2提供的JSP标签,如`s:property`、`s:form`、`s:select`等,它们简化了视图层的开发。 8. **异常处理**:学习如何在Struts2中配置全局和局部的异常处理器,以优雅地处理程序...
这篇笔记将深入探讨Struts2的标签库和Hibernate的基本用法。 Struts2是一个强大的Web应用框架,它基于MVC设计模式,为开发者提供了丰富的控制层解决方案。其核心在于Action类,通过Action类处理用户请求并返回结果...
本学习笔记基于浪曦老师的教学视频进行整理,旨在帮助读者理解如何搭建完整的Struts2 + Hibernate + Spring(简称SSH)三层架构。通过本笔记,读者能够掌握如何从零开始构建一个支持数据持久化、业务逻辑处理以及...
在本篇《Hibernate学习笔记》中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架。Hibernate允许开发者以面向对象的方式处理数据库操作,极大地简化了数据存取的复杂性。以下是一些关键知识点: 1....
【Mybatis基础入门学习笔记】 Mybatis是一款广泛使用的Java持久层框架,它的主要目标是简化对数据库的操作,提供更加灵活的SQL映射机制。Mybatis起源于Apache组织的ibatis框架,历经发展,在2010年迁移到Google ...
### Java学习笔记知识点详解 #### 一、Java基础知识概述 Java是一种广泛使用的面向对象的编程语言,具有简单性、面向对象、健壮性、安全性、平台独立性、可移植性等特点。Java的基本知识包括以下几个方面: 1. **...
"Struts2学习笔记"和"Servlet学习笔记"一起,可以帮助理解Web服务器如何处理用户请求并返回响应,以及如何利用框架提升开发效率。 总的来说,这个Java基础笔记集合提供了一个全面的学习路径,覆盖了从基本的Java...
### JavaEE 学习笔记概览 #### 一、JavaEE 概念及核心知识点 **JavaEE**(Java Platform, Enterprise Edition),即Java平台企业版,是为开发可移植、健壮、可伸缩、模块化且安全的服务器端应用而设计的。JavaEE ...
这份"java学习和面试笔记"涵盖了Java的基础到进阶知识,包括Java Standard Edition(Java SE)、原生的JSP(JavaServer Pages)和Servlet、以及SSH(Spring、Struts、Hibernate)和SSM(Spring、SpringMVC、MyBatis...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...
【描述】: "Mybatis狂神说完整笔记,typora带图片" 指出这是一份详尽的MyBatis学习笔记,由流行的markdown编辑器Typora编写,并且包含了丰富的图像辅助理解,使得学习过程更加直观易懂。 【标签】: "mybatis" 是一...
此详解可能详细介绍了各种标签的用法,如s:textfield、s:submit、s:form、s:if、s:iterator等,以及如何在实际项目中利用这些标签提高开发效率和代码可维护性。 【正则表达式系统教程.CHM】 正则表达式是一种强大的...
### 牧紫小岩的Spring学习笔记:深入解析Spring框架的核心功能与应用 #### Spring框架概览 Spring框架,作为Java领域中一个重要的轻量级框架,主要关注于解决企业级应用开发中的复杂性问题。它通过提供一系列的...
### Java课堂笔记精要 #### 第一章 SQL Server 基本操作 ##### SQL Server 操作须知 1. **安装路径**: 安装文件及其安装路径都不能包含中文字符,否则可能会导致安装失败或出现其他错误。 2. **版本有效期**: 如果...
JSP笔记可能涵盖了指令、脚本元素、动作标签、EL表达式和JSTL库的使用。 8. **JDBC.pdf**:Java Database Connectivity(JDBC)是Java与数据库交互的标准API。这部分可能包括连接数据库、执行SQL语句、处理结果集、...