Struts2学习笔记之s:select标签
貌似Struts2 标签都快忘光了 今天先来一发struts2的select标签:
首先从简到难,静态赋值:
|
1
|
<s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性别" headerKey="" headerValue="请选择性别"></s:select>
|
这样就会出现下拉框,默认是请选择性别,点开后是男女,根据firebug,看到男女前面对应的是0和1,比起原生态的select标签简单多了。
注释:这里从页面来静态构造下拉选项,关键点是list=”#{‘0′:’男’,’1′:’女’}” 通过它实现的select的两个option 。headerKey指定默认的选项”key”,headerValue指定默认的选项”value”。
再看看设置下拉列表的数据:
|
1
2
3
4
5
6
7
8
|
<%
java.util.HashMap map = new java.util.LinkedHashMap();
map.put(1, "A公司");
map.put(2, "B公司");
map.put(3, "C公司");
request.setAttribute("map", map);
request.setAttribute("aa", "D公司");
%>
|
|
1
|
<s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb"></s:select>
|
value的值设置为了2,所以初始化下拉框时,会自动选择key值为2的选项。
最后,配合Struts2的action看看效果吧:
UserDao的代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@Repository("userDao")
public interface UserDao extends SqlMapper {
public List<User> selectAll();
public User getById(Integer id);
public User loginCheck(@Param("loginName")String login_name,@Param("password")String password);
public int updateUser(User user);
public int deleteById(Integer id);
public int add(User user);
@Select("SELECT a.*,b.* from users a ,orgs b where a.org_id = b.id")
public List<Map> getUserInfo();
@Select("SELECT * from orgs ORDER BY id")
public List<Map> getOrgs();
}
|
UserAction的代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
@Action("getuserinfo")
public String getAllUsers() {
List<Map> userList = userDao.getUserInfo();
List<Map> orgs = userDao.getOrgs();
if (userList != null) {
ServletActionContext.getRequest().setAttribute("userlist", userList);
ServletActionContext.getRequest().setAttribute("orgs", orgs);
return SUCCESS;
} else {
return ERROR;
}
}
|
试图jsp页面:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<div class="adduserbox">
<div class="tit">新建帐号<span>X</span></div>
<form action="adduserinfo.feinno" method="post" name="saveForm" id="saveForm">
<div class="content1">
<div class="name">
<div class="fields">姓名:</div> <input type="text" name ="name" placeholder="请输入姓名" autocomplete="off">
</div>
<div class="name">
<div class="fields">电话:</div> <input type="text" name ="svc_url" placeholder="请输入电话号码" autocomplete="off">
</div>
<div class="name">
<div class="fields">公司:</div> <s:select name="company" list="#request.orgs" headerKey="" headerValue="请选择公司" listKey="id" listValue="org_name"></s:select>
</div>
<div class="name">
<div class="fields">邮箱: </div><input type="text" name ="img_url" placeholder="请输入邮箱地址" autocomplete="off">
</div>
<div class="name">
<div class="fields">登录帐号:</div> <input type="text" name ="img_url" placeholder="请输入登陆账号" autocomplete="off">
</div>
<div class="other">
<button class="btn left blue" id="saveQuickService">保存</button>
<button class=" write btn right" id="calcle">取消</button>
</div>
</div>
</form>
</div>
|
这段代码是jsp里面的一块,点击新增用户弹出的弹出窗。
大家可以看到在“公司”这一个表单里的使用方法,首先给一个名称name属性,然后需要现实的List,list属性,listKey说明下拉框的key值对应id(公司ID)字段,listValue说明下拉框的显示部分对应org_name(公司名称)字段。很简单,很强大,很快捷。
Struts2学习笔记之s:select标签的更多相关文章
- struts2学习笔记之表单标签的详解:s:checkbox/radio/select/optiontransferselect/doubleselect/combobox
struts2中的表单标签都是以s标签的方式定义的,同时,struts2为所有标签都提供了一个模板,C:\Users\180172\Desktop\struts2-core-2.2.1.1.jar\t ...
- Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)
Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...
- Struts2学习笔记①
Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...
- Struts2 学习笔记(概述)
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...
- Struts2学习笔记⑧
今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记63:Struts2学习之路--表单标签 用户注册模块
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- struts2学习笔记 ⑤
拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了A ...
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...
随机推荐
- iOS自动布局之autoresizingi
对于iOS的app开发者来说,不会像Android开发者一样为很多的屏幕尺寸来做界面适配,因此硬编码的坐标也能工作良好,但是从设计模式上来说这不是好的做法.而且也还有一些问题,如iPhone5的适配, ...
- iOS远程消息推送
iOS 推送基础知识 Apple 使用公共密钥数字证书对来自 iOS 应用程序的推送请求进行身份验证,所以您首先需要创建身份验证密钥,并向 Apple 注册它们.我将在下一节中花相当长的篇幅来直接介绍 ...
- iOS9适配中出现的一些常见问题
本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...
- jQuery 停止动画
jQuery stop() 方法用于在动画或效果完成前对它们进行停止. 停止滑动 点击这里,向上/向下滑动面板 实例 jQuery stop() 滑动演示 jQuery stop() 方法. jQue ...
- Codeforces 543D Road Improvement(DP)
题目链接 Solution 比较明显的树形DP模型. 首先可以先用一次DFS求出以1为根时,sum[i](以i为子树的根时,满足要求的子树的个数). 考虑将根从i变换到它的儿子j时,sum[i]产生的 ...
- 全部与精简切换显示jQuery实例教程
下面是某网站上的一个品牌列表展示效果,用户进入页面时,品牌列表默认是精简显示的(即不完整的品牌列表)效果如下图所示: 用户可以单击商品列表下方的“显示全部品牌”按钮来显示全部的品牌.单击“显示全部品牌 ...
- php实现的太平洋时间和北京时间互转的自定义函数
date_default_timezone_set('Asia/Shanghai'); $time = time(); } date_default_timezone_set('Pacific/Api ...
- mysql命令行导出导入数据库
一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二. ...
- 关于本地计算机无法启动Apache2
最近因工作需要,要学习PHP的基础编程,于是学习架设PHP工作环境. 但按照教材上介绍的那样,安装了WMAP后,一直无法运行成功.后发现Apache一直都不在运行状态.到WMAP中的Apache选项中 ...
- Ruby自学笔记(五)— 条件判断
条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别 Ruby中条件判断的条件: 1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回t ...