struts2下拉框实例,Java框架学习Struts2复选框实例

作者: 今晚买四不像计算  发布:2019-10-06

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

复选框在Web开荒中动用的异常多,以后我们透过struts2的复选框标签来完成部分在付出中不常遇上的难点。

先来看看那些标签的属性:

图片 1

注:listKey也便是HTML中的value属性,那么些值在和后台交互时才真便是我们在后台要动用的;listValue只是内容的显得而已。

Struts2下拉框实例解析,struts2下拉框实例

事实上从前小编对Java的Struts框架未有实际认知,通过那篇作品,真的让自家询问了框架的用途,好处。

下拉框在Web开拓中时常会利用到,下边我们透过struts2的标签来贯彻下拉框的一对效用。

先来拜候<s:select>的有的参数:

图片 2

注:listKey也正是HTML中的value值,大家是经过它的值来和后台实行互动的。

案例:顾客采纳了友好的偶像,然后要对其开展修改,跳转到修改分界面之后,要回显客商最早步评采纳的偶像。

顾客偶像界面(尽管客户眼下的取舍为"习近平主席"):

图片 3

案例1

客商挑选了喜好的课程,现在要对曾经选拔的教程进行改换,跳转到修改分界面,然后回显已经勾选的学科。

顾客已选课程分界面:

图片 4

点击开关后跻身课程修改界面:

图片 5

注:在更动分界面要对顾客最早的选料进行回显。

落到实处代码!!!!

代码实现!!!!

顾客已选课程分界面:

<body> 
您的课程: 
<form action="checkBoxAction_test.action" method="post"> 
  <s:checkboxlist list="{'Java','.Net','PHP','C++'}" name="courses" /></br> 
  <input type="submit" value="我要修改"/> 
  </form> 
</body> 

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(){
  /*去空格【必须用这种方式去空格,trim()这种方式不管用】*/
  String courStrs = this.courses.replaceAll(" ", "");
  /*定义一个集合把用户所选择的课程存在集合中*/
  List<String> userCourses = new ArrayList<String>();
  /*遍历*/
  for (String str : courStrs.split(",")){
   userCourses.add(str);
  }
  /*把用户所选择的课程存在OGNL Context上下文中*/
  ActionContext.getContext().put("userCourses", userCourses);
  /*以集合的形式把所有复选框都传到结果页面进行展示,然后和用户所勾选的进行匹配*/
  List<String> cous = new ArrayList<String>();
  cous.add("Java");
  cous.add(".Net");
  cous.add("PHP");
  cous.add("C++");
  /*把所有课程存在OGNL Context上下文中*/
  ActionContext.getContext().put("cous", cous);
  return this.SUCCESS;
 }
}

修改界面:

 <body> 
  您所选择的课程为: 
<s:checkboxlist name="courses" list="#cous" value="#userCourses" />   
 </body> 

注:在更动分界面,很简单就足以兑现结果的回显,别的,list和value的值,大家只必要#质量名称的格局就可以获得,是因为大家在action中早就把目的存在了ActionContext即OGNLContext上下文中。

上边大家由此多个经常的案例来更近乎的模仿开荒境况:

客商挑选自个儿的偶像(二个javaBean对象),然后同样是跳转到修改分界面进行更换,在修改分界面实行回显数据。

客户已选偶像分界面:

图片 6

修改分界面(要落到实处多少的回显)

图片 7

客商偶像界面:

<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中的属性会被封存到值栈中,所以能够一贯获得。

代码完毕!!!

客商已选偶像分界面:

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

注:list为OGNL创造的Map群集。listKey也便是表单提交的实在value值,大家把Map的key传到后台举办拍卖。

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;
 }
}

action代码:

public class CheckBoxListAction extends ActionSupport {
 private static final long serialVersionUID = 1L;
 /* 偶像集合 */
 private List<User> users;
 /* 偶像id字符串 */
 private String ids;
 public List<User> getUsers() {
  return users;
 }
 public void setUsers(List<User> users) {
  this.users = users;
 }
 public String getIds() {
  return ids;
 }
 public void setIds(String ids) {
  this.ids = ids;
 }
 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的集合*/
  List<Integer> userIds = new ArrayList<Integer>();
  /*获取用户所勾选的ids,去除空格【必须用这种方式,trim()方法不管用】*/
  ids = ids.replaceAll(" ", "");
  /*迭代*/
  for (String str : ids.split(",")){
   userIds.add(Integer.valueOf(str));
  }
  /*把id存到OGNL上下文集合中*/
  ActionContext.getContext().put("userIds", userIds);
  return this.SUCCESS;
 }
}

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

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

注:listKey和listValue正是javaBean的四个天性,checkboxlist迭代时会将她们献身值栈中,所以不必要#取名空间的款式来获得,直接利用性质名称就能够获得,value的值为javaBean中uid的联谊,自动进行相配,然后选中对应的值。

附:

1.只要您的门类尚未用到freemaker,却又出现了如下图所示的失实!

图片 8

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

总结

率先次体会到框架的收益,见识浅陋,勿怪。。

以上正是本文关于Struts2下拉框实例分析的全部内容,希望对我们有着援助。感兴趣的意中人能够三番五次参照本站别的有关专项论题,如有不足之处,接待留言建议。感激朋友们对本站的支持!

其实从前本人对Java的Struts框架未有切实可行认知,通过那篇小说,真的让自身驾驭了框架的用处,好处。...

总结

如上就是本文关于Java框架学习Struts2复选框实例代码的全部内容,希望对我们享有助于。感兴趣的相爱的人能够一而再参照本站别的有关专项论题,如有不足之处,应接留言提出。谢谢朋友们对本站的支撑!

复选框在Web开辟中央银行使的那二个多,未来大家透过struts2的复选框标签来达成部分在开垦中不经常遇...

本文由今晚买四不像发布于今晚买四不像计算,转载请注明出处:struts2下拉框实例,Java框架学习Struts2复选框实例

关键词: