Struts2下拉框实例解析
作者:lavimer 发布时间:2021-09-16 16:29:59
标签:struts,下拉框
其实以前我对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中的属性会被保存到值栈中,所以可以直接获取。
来源:http://blog.csdn.net/lzm1340458776/article/details/29854241
0
投稿
猜你喜欢
- 一、interrupt的使用特点我们先看2个线程打断的示例首先是可打断的情况:@Testpublic void interruptedTes
- 前言spring中解析元素最重要的一个对象应该就属于 BeanDefinition了;这个Spring容器中最基本的内部数据结构;它让xml
- java修改JFrame默认字体修改默认字体的方法很简单。首先我们随便写一个按钮出来:import javax.swing.*; publi
- 泛型 一般 出现在集合中,迭代器中 也会出现!泛型 是为了 提高代码的 安全性。 泛型 确保数据类型的唯一性。在我们常用的容器中
- 在项目中,分页是一个项目中必不可少的,它可以防止我们从数据库中进行大量数据查询时速度变慢,提高我们的查询效率。1、定义分页模型:PageMo
- 在一个完整的项目中,如果每一个控制器的方法都返回不同的结果,那么对项目的维护和扩展都会很麻烦;并且现在主流的开发模式时前后端分离的模式,如果
- 前言今天的文章从下面这张图片开始,这张图片Java开发们应该很熟悉了我们都知道无锁状态是对象头是有位置存储hashcode的,而变为偏向锁状
- 本文实例讲述了Java获得当前时间前指定几个小时具体时间的方法。分享给大家供大家参考,具体如下:package getBeforeHourD
- 1.介绍有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本。而Runtime.getRuntime().exec(
- 太多的if-else不太直观,难以维护。 以下面代码为例,展示几种替代if else的方法。String input = &quo
- 由Lombok的@AllArgsConstructor注解引发的错误需求:在Service实现中写了一个方法调用第三方接口同步数据。 功能代
- import java.io.BufferedReader;import java.io.File;import java.io.FileI
- 在SpringBoot中,当需要获取到配置文件数据时,除了可以用Spring自带的@Value注解外,SpringBoot提供了一种更加方便
- 1.短信平台购买次数地址https://market.aliyun.com/products/57000002/cmapi00046920.
- springboot整合mybatis实现数据库更新批处理1.在mapper接口中编写方法/** * 修改book表中的销量和库存
- 用法在java中经常会遇到需要对数据进行类型转换的场景,String类型的数据转为Int类型属于比较常见的场景,主要有两种转换方法:1. 使
- 问题描述Spring Cache提供的@Cacheable注解不支持配置过期时间,还有缓存的自动刷新。我们可以通过配置CacheManneg
- 易于理解版package com.zhebie.ternary;public class ternary { public static v
- 本文实例为大家分享了java实现文件下载的具体代码,供大家参考,具体内容如下public HttpServletResponse downl
- 一、问题描述今天使用SDK Manager将Android SDK的版本更新到了Android 5.1的版本,eclipse创建androi