Struts2下拉框实例解析

其实以前我对Java的Struts框架没有具体认识,通过这篇文章,真的让我了解了框架的用处,好处。

下拉框在Web开发中经常会使用到,下面我们通过struts2的标签来实现下拉框的一些功能。

先来看看<s:select>的一些参数:

注:listKey相当于HTML中的value值,我们是通过它的值来和后台进行交互的。

案例:用户选择了自己的偶像,然后要对其进行修改,跳转到修改界面之后,要回显用户最初选择的偶像。

用户偶像界面(假设用户当前的选择为"习近平"):

实现代码!!!!

用户偶像界面:

<form action="selectAction.action" method="post">
  您的偶像为:<s:select list="#{1:'邓小平',2:'胡锦涛',3:'习近平',4:'李克强'}" name="id" listKey="key" listValue="value"/>
  <input type="submit" value="我要修改">
  </form>
 </body> 

注:list使用OGNL创建的Map集合。

action代码:

public class SelectAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	/*用户所选的偶像的id*/
	private String id;
	/*偶像集合*/
	private List<User> users;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public List<User> getUsers() {
		return users;
	}
	public void setUsers(List<User> users) {
		this.users = users;
	}
	public String execute(){
		/*创建一个集合模拟从数据库中查出所有的用户*/
		users = new ArrayList<User>();
		users.add(new User(1, "邓小平"));
		users.add(new User(2, "胡锦涛"));
		users.add(new User(3, "习近平"));
		users.add(new User(4, "李克强"));
		/*把所有的用户存在OGNL Context上下文中*/
		ActionContext.getContext().put("users", users);
		//注:这里并不需要把用户所选的值存起来,因为我们的id属性就是用户所选的值,
		//作为action的属性,它已经保存到值栈中去了,可以直接根据属性名id来获取
		return this.SUCCESS;
	}
}

javaBean对象:

public class User {
	/* 用户id */
	private Integer uid;
	/* 用户名 */
	private String uname;
	/* 无参构造函数 */
	public User() {
	}
	/* 构造函数 */
	public User(Integer uid, String uname) {
		this.uid = uid;
		this.uname = uname;
	}
	public Integer getUid() {
		return uid;
	}
	public void setUid(Integer uid) {
		this.uid = uid;
	}
	public String getUname() {
		return uname;
	}
	public void setUname(String uname) {
		this.uname = uname;
	}
}

修改界面:

<body>
  您的偶像为:
  <s:select list="#users" listKey="uid" listValue="uname" value="id" />
</body> 

注:value值只写了一个id(用户所选偶像的id)属性名称,是因为它是action中的属性,action中的属性会被保存到值栈中,所以可以直接获取。

总结

第一次体会到框架的好处,见识浅陋,勿怪。。

以上就是本文关于Struts2下拉框实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

  • Struts2 自定义下拉框Tag标签
  • ajax struts2 下拉框赋值(适合所有)
(0)

相关推荐

  • ajax struts2 下拉框赋值(适合所有)

    1.此代码适合所有下拉列表取值 2.一个项目所有的下拉列表只需要这一个公用方法: 步骤一:创建实体bean: 复制代码 代码如下: public class DictionaryBean { private String value_Id;//下拉框option的id private String value;//下拉框option的值 private String flag;//对应下拉框的值的类型,如flag=1,下拉列表为省份信息,flag=2为市级信息等: public String g

  • Struts2 自定义下拉框Tag标签

    自定义标签主要包括三个步骤: 1.编写java类,继承TagSupport类: 2.创建tld文件,影射标签名和标签的java类: 3.jsp页面引入tld. 例子:自定义下拉框标签 如果页面上有下拉选择框,通常最好的解决方法是使用数据字典,因为有可能多个页面 使用同一个下拉框,便于后台统一维护. 自定义Tag类 import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.

  • Struts2下拉框实例解析

    其实以前我对Java的Struts框架没有具体认识,通过这篇文章,真的让我了解了框架的用处,好处. 下拉框在Web开发中经常会使用到,下面我们通过struts2的标签来实现下拉框的一些功能. 先来看看<s:select>的一些参数: 注:listKey相当于HTML中的value值,我们是通过它的值来和后台进行交互的. 案例:用户选择了自己的偶像,然后要对其进行修改,跳转到修改界面之后,要回显用户最初选择的偶像. 用户偶像界面(假设用户当前的选择为"习近平"): 实现代码!

  • Vue.js 2.0中select级联下拉框实例

    在网上搜索了Vuejs2.0 动态级联select许久未果,决定自己总结一下自己的经验,有关select在Vue.js 2.0版本中的应用.首先我先说一下的我使用的技术,我参考了网上成熟的经验,选择以Vue.js 2.0+Vue-router+Vuex的全家桶. select首先要区分单选和多选,v-model在select单选和多选上有区别.     select单选实例: <select v-model="fruit"> <option selected valu

  • yii2带搜索功能的下拉框实例详解

    简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程. 如果你还没有使用过composer,你可就out了,看我的教程分享,composer简直就是必备神奇有木有.都说到这个点上了,我们赶紧使用composer进行安装吧. 先给大家展示下效果图: 下面给大家说下具体实现思路: composer require kartik-v/yii2-widget-select2 "@dev" #特别说明,因为这里安装的dev版本,也就是开发版本,不稳定版本,如果

  • android用PopWindow做下拉框实例代码

    最近在做下拉框,本来想用spinner,可是spinner达不到项目要求,跟同学同事问了一圈,都在用popwindow,网上看了一下,popwindow挺简单的,可定制性挺强的,符合我的要求,所以,借鉴网上看的代码,自己撸了一遍.写篇博客以防忘记. 首先,先写个自定义布局,代码如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sche

  • angularjs 实现带查找筛选功能的select下拉框实例

    一.背景 对于select的下拉列表,像国家选择这样的功能,全世界那么多国家,一直拉滚动条多辛苦,眼睛也要盯着找,累!so,为优化用户体验,带查找功能的下拉框是非常非常有必要的.都知道jquery里有这样的插件,但我们用的是Angularjs,更希望用双向绑定,指令的方式优雅地解决这个问题. 分析:    目标 在原来的<select ng-options="">标签上新加一个属性 select-search 就能支持查找的功能.如果这个属性没起作用,也不影响原来的sele

  • jQuery插件cxSelect多级联动下拉菜单实例解析

    随着电商的火爆,这多级联动下拉菜单体现的更加充分,最明显的就是地址的多级联动下拉选择,所以这里就简单的分享一下 jQuery cxSelect 多级联动下拉菜单 cxSelect 是基于 jQuery 的多级联动菜单插件,适用于省市.商品分类等联动菜单. 列表数据通过 AJAX 获取(需要在服务器环境运行),也可以使用变量自定义,数据内容使用 JSON 格式. 提供国内省市县数据(数据来源:basecss/cityData Date: 2014.03.31) 个人一直都有习惯,当有新知识点需要学

  • vue 通过下拉框组件学习vue中的父子通讯

    如果说vue组件化开发中第一步应该了解的是什么的话,那无疑是父子组件之间是如何实现通讯的(说白了就是父子组件中数据是如何传递的),只有理解了这一步,才能更好的开发组件 这里先提出两个关键词: props 与 emit : 写这个组件之前,先看看效果图: 组件开发分析: 既然是组件: 首先组件内部数据内容肯定是可变的(如上图中的"按时间排序"之类的),这必须由父组件传入(即父组件如何将数据传个父组件); 在选择了内容之后,如何将数据传出来(即子组件如何将数据传给父组件) 先写结构: 父组

  • Vue使用枚举类型实现HTML下拉框步骤详解

    下拉框包含option中的Value和用来显示的选项, 一般后台都是使用的Value值,而不是显示在前台的选项 第一步: 编写下拉框需要的枚举类型 StatusEnum.java public enum StatusEnum { RED, YELLOW, GREEN } 第二步: 编写用来存放下拉框中对应的option中的Value和显示的选项 StatusDTO.java public class StatusDTO { private String code; private String

  • 浅谈Vue Element中Select下拉框选取值的问题

    之前写了.一个原生的select的,因为展示效果原因,给删除掉了,忘记保存代码了,现在大家展示使用elementUI的下拉框封装一个组件,供咱们项目中经常调用,减少代码量. html: <el-select v-model="ite" placeholder="请选择" value-key="mateGroup"> <el-option style="width: auto" :disabled="

随机推荐