貌似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标签的更多相关文章

  1. struts2学习笔记之表单标签的详解:s:checkbox/radio/select/optiontransferselect/doubleselect/combobox

    struts2中的表单标签都是以s标签的方式定义的,同时,struts2为所有标签都提供了一个模板,C:\Users\180172\Desktop\struts2-core-2.2.1.1.jar\t ...

  2. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  3. Struts2学习笔记①

    Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...

  4. Struts2 学习笔记(概述)

    Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...

  5. Struts2学习笔记⑧

    今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...

  6. [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. [原创]java WEB学习笔记63:Struts2学习之路--表单标签 用户注册模块

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. struts2学习笔记 ⑤

    拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了A ...

  9. [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...

随机推荐

  1. SGU 174.wall

    题意: 判断给出的线段是否组成了多边形. Solution: 简单题,并查集+hash 这里用map实现 code #include <iostream> #include <cst ...

  2. CentOS 忘记root密码,解决方法

    1.开机后,在倒数5秒结束前,按下任意键 2.在显示centos...的那个界面下,按e键(edit) 3.会出现三行的界面,选择中间 kernel...那行,然后按e键 4.在接着出现的那个界面最后 ...

  3. 知识备忘phpcms 简单解析一 数据表字段

    PHPCMS V9帮助中心 数据结构 phpcms v9 数据... phpcms v9 数据... PHPSSO 数据库结... phpcms v9 数据表结构 在线版 PHPCMS V9 数据结构 ...

  4. django-orm-standalone

    django-orm-standalone script via:https://github.com/masnun/django-orm-standalone/ # Django specific ...

  5. openerp 报表字段 report_rml_content_data

    按需求修改一个报表,本想按照打印出来的报表内容搜索rml文件,找到需要修改的rml问加. 但是发现搜索不到,后来查询报表动作,确认对应的rml文件中,没有发现 “报表中” 的字串. 猜测可能是rml直 ...

  6. CodeFirst中DB保存时报错:对一个或多个实体的验证失败。

    错误提示如下: 开始以为有字段可能没有添加数据,可是检查了很久,仍然没有任何头绪. 后使用DbEntityValidationException进行调试,问题才得以解决

  7. HBase eclipse开发环境搭建

    伪分布式环境安装 事先本机必须部署好了伪分布式hadoop开发环境将Hbase/lib下的 hadoop-core-*.jar 与 hadoop保持一致. 将hadoop下的复制到hbase下将had ...

  8. 【深入浅出jQuery】源码浅析2--使用技巧

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  9. [BZOJ 3791] 作业 【DP】

    题目链接:BZOJ - 3791 题目分析 一个性质:将一个序列染色 k 次,每次染连续的一段,最多将序列染成 2k-1 段不同的颜色. 那么就可以 DP 了,f[i][j][0|1] 表示到第 i ...

  10. Find The Multiple(poj 1426)

    Description Given a positive integer n, write a program to find out a nonzero multiple m of n whose ...