栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java框架学习Struts2复选框实例代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java框架学习Struts2复选框实例代码

复选框在Web开发中使用的非常多,现在我们通过struts2的复选框标签来实现一些在开发中经常遇到的问题。

先来看看这个标签的属性:

注:listKey相当于HTML中的value属性,这个值在和后台交互时才真正是我们在后台要使用的;listValue只是内容的显示而已。

案例1

用户选择了喜欢的课程,现在要对已经选择的课程进行修改,跳转到修改界面,然后回显已经勾选的课程。

用户已选课程界面:

点击按钮后进入课程修改界面:

注:在修改界面要对用户最初的选择进行回显。

代码实现!!!!

用户已选课程界面:

 
您的课程: 
 
 

action代码:

public class CheckBoxAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	
	private String courses;
	public String getCourses() {
		return courses;
	}
	public void setCourses(String courses) {
		this.courses = courses;
	}
	public String test(){
		
		String courStrs = this.courses.replaceAll(" ", "");
		
		List userCourses = new ArrayList();
		
		for (String str : courStrs.split(",")){
			userCourses.add(str);
		}
		
		ActionContext.getContext().put("userCourses", userCourses);
		
		List cous = new ArrayList();
		cous.add("Java");
		cous.add(".Net");
		cous.add("PHP");
		cous.add("C++");
		
		ActionContext.getContext().put("cous", cous);
		return this.SUCCESS;
	}
}

修改界面:

  
  您所选择的课程为: 
   
  

注:在修改界面,很简单就可以实现结果的回显,另外,list和value的值,我们只需要#属性名称的形式就可以获取,是因为我们在action中已经把对象存在了ActionContext即OGNLContext上下文中。

下面我们通过一个相似的案例来更接近的模拟开发环境:

用户选择自己的偶像(一个javaBean对象),然后同样是跳转到修改界面进行修改,在修改界面进行回显数据。

用户已选偶像界面:

修改界面(要实现数据的回显)

代码实现!!!

用户已选偶像界面:

 
您的偶像: 
 
 

注:list为OGNL创建的Map集合。listKey相当于表单提交的真实value值,我们把Map的key传到后台进行处理。

javaBean对象:

public class User {
	
	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;
	}
}

action代码:

public class CheckBoxListAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	
	private List users;
	
	private String ids;
	public List getUsers() {
		return users;
	}
	public void setUsers(List users) {
		this.users = users;
	}
	public String getIds() {
		return ids;
	}
	public void setIds(String ids) {
		this.ids = ids;
	}
	public String execute() {
		
		users = new ArrayList();
		users.add(new User(1, "邓小平"));
		users.add(new User(2, "习近平"));
		users.add(new User(3, "胡锦涛"));
		users.add(new User(4, "李克强"));
		
		ActionContext.getContext().put("users", users);
		
		List userIds = new ArrayList();
		
		ids = ids.replaceAll(" ", "");
		
		for (String str : ids.split(",")){
			userIds.add(Integer.valueOf(str));
		}
		
		ActionContext.getContext().put("userIds", userIds);
		return this.SUCCESS;
	}
}

修改界面(进行数据的回显):

 
  您的偶像为: 
   
  

注:listKey和listValue就是javaBean的两个属性,checkboxlist迭代时会将他们放在值栈中,所以不需要#命名空间的形式来获取,直接使用属性名称就可以获取,value的值为javaBean中uid的集合,自动进行匹配,然后选中对应的值。

附:

1.如果你的项目没有用到freemaker,却又出现了如下图所示的错误!

那么,恭喜你,是因为你的struts2标签没有name属性导致!!!!(泪的教训啊,被它坑了两个小时!)

总结

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/141729.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号