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 ...
随机推荐
- 浅谈angular框架
最近新接触了一个js框架angular,这个框架有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入,以上这些全部都是属于angular特性,虽然说它的功能十分的强大 ...
- UOJ222 NOI2016 区间 线段树+FIFO队列
首先将区间按长度排序后离散化端点(这里的“长度”指的是离散化之前区间的实际长度) 然后模拟一个队列,区间按排好的顺序依次进入,直到某个点被覆盖了M次.之后依次出队,直到所有点都被覆盖小于M次 修改和询 ...
- 51nod建设国家
小C现在想建设一个国家.这个国家中有一个首都,然后有若干个中间站,还有若干个城市. 现在小C想把国家建造成这样的形状:选若干(可以是0个)的中间站把他们连成一条直线,然后把首都连在这一条直线的左端.然 ...
- javascript——可以判断值的类型的函数
function classof(o){ return Object.prototype.toString.call(0).slice(8,-1); } Function.prototype.getN ...
- 代码bug
1.webstorm ide未配置basePath本地会加入根路径 2.点击一次就销毁可以给标签设置一个值data-val="0" 某个函数只执行一次的方法,或者也可以考虑绑用on ...
- 一个小白对Arguments的理解
1.Arguments是一个类似数组的实参队列,译为:论据,论点,姑且译作参数(实参): 2.Arguments与形参保持不同的存储空间,只有当形参被赋值之后两者才会相等 3.传说在严格模式下函数内自 ...
- 关于浮动float属性和position:absolute属性的区别
最近返回头看了很多书籍,一直在纠结float属性和absolute绝对定位的区别和使用的情况,给大家分享一下自己的心得和体会吧. 1,float属性 float属性意义是让元素拜托独占一行的霸道总裁, ...
- Android输入法开发
1. 概念 * IMF: 输入法框架(Input Method Framework) * IM: 输入法(Input Method) * IMS: 输入法服务(Input Method Service ...
- [转]加盐hash保存密码的正确方式
0x00 背景 大多数的web开发者都会遇到设计用户账号系统的需求.账号系统最重要的一个方面就是如何保护用户的密码.一些大公司的用户数据库泄露事件也时有发生,所以我们必须采取一些措施来保护用户的密码, ...
- BZOJ 1483 梦幻布丁
Description \(N\)个布丁摆成一行,进行\(M\)次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为\(1,2,2,1\)的四个布丁一共有\ ...