Flask接口签名sign原理与实例代码浅析
325
2023-02-18
复选框和Struts2后台交互代码详解
本文研究的主要是Struts框架中复选框的相关内容。复选框在web开发中用的非常广泛,具体介绍如下。
案例
如下图,当前为用户选中的水果为"香蕉",点击按钮,跳转到修改界面进行修改。
跳转到修改界面后要回显用户的选择(香蕉),然后由用户再次进行勾选,如图:
前台界面:
请选择您喜欢的水果:
香蕉
雪梨
西瓜
后台ChecBoxAction.java代码:
public class ChecBoxAction extends ActionSupport {
private static final long serialVersionUID = 1L;
/*前台通过复选框选中的水果名称*/
private String fruits;
public String getFruits() {
return fruits;
}
public void setFruits(String fruithttp://s) {
this.fruits = fruits;
}
public String test(){
/*没去除空格之前*/
System.out.println(this.getFruits());
/*获取从前台穿过来的字符串(注:这里必须去除空格,因为传过来的每个值之间除了有逗号分隔符之外还都有空格,但是通过trim()的方式是去不掉空格的)*/
//String fruitStr = this.getFruits().trim();
/*必须如是这般才能去掉空格*/
String fruitStr = this.getFruits().replaceAll(" ", "");
System.out.println("去除空格之后的字符串:" + fruitStr);
/*把字符串通过逗号分隔为一个字符串数组*/
String[] fruit = fruitStr.split(",");
/*遍历所有的值,把它们存到一个集合中*/
List
for (int i=0; i myFruits.add(fruit[i]); } /*把用户选中的复选框存到Map中发送到前台*/ ActionContext.getContext().put("myFruits", myFruits); /*模拟从数据库中查出所有的值,在前台展示,然后和用户选中的进行匹配*/ List list.add("香蕉"); list.add("雪梨"); list.add("西瓜"); ActionContext.getContext().put("list", list); return this.SUCCESS; } } 注:复选框向后台传值,传过去的是一个字符串,且带有空格,所以必须去除空格,但是用trim()方法是去除不了的,使用trim()方法之后的效果。如下: 如图,毫无效果!但是,我们可以使用replaceAll()方法,去替代空格,效果如下: 另外为了在修改界面展示所有的复选框(水果),我们在Action中模拟从数据库中取出所有的值,然后和用户选择的复选框一起传到修改界面。 修改界面:
myFruits.add(fruit[i]);
}
/*把用户选中的复选框存到Map中发送到前台*/
ActionContext.getContext().put("myFruits", myFruits);
/*模拟从数据库中查出所有的值,在前台展示,然后和用户选中的进行匹配*/
List
list.add("香蕉");
list.add("雪梨");
list.add("西瓜");
ActionContext.getContext().put("list", list);
return this.SUCCESS;
}
}
注:复选框向后台传值,传过去的是一个字符串,且带有空格,所以必须去除空格,但是用trim()方法是去除不了的,使用trim()方法之后的效果。如下:
如图,毫无效果!但是,我们可以使用replaceAll()方法,去替代空格,效果如下:
另外为了在修改界面展示所有的复选框(水果),我们在Action中模拟从数据库中取出所有的值,然后和用户选择的复选框一起传到修改界面。
修改界面:
您选择的水果:
${fr == list ? "checked" : ""}
/>${list}
注:修改界面比较复杂,首先是遍历所有复选框(水果),在每个浮选中又使用一个forEach循环,去遍历用户选择的所有复选框(水果),然后通过三目运算符去判断当前复选框是否被用户选中,如果匹配,就勾选。
总结
以上就是本文关于复选框和Struts2后台交互代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~