java和jsp交互 structs_复选框和Struts2后台交互代码详解

本文研究的主要是Struts框架中复选框的相关内容。复选框在web开发中用的非常广泛,具体介绍如下。

案例

如下图,当前为用户选中的水果为"香蕉",点击按钮,跳转到修改界面进行修改。

f088d2d5bcc0873c89d80c17b55273cb.png

跳转到修改界面后要回显用户的选择(香蕉),然后由用户再次进行勾选,如图:

8def5519ed7ef461b3d0f3d268246711.png

前台界面:

请选择您喜欢的水果:

香蕉

雪梨

西瓜

后台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 fruits) {

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 myFruits = new ArrayList();

for (int i=0; i

myFruits.add(fruit[i]);

}

/*把用户选中的复选框存到Map中发送到前台*/

ActionContext.getContext().put("myFruits", myFruits);

/*模拟从数据库中查出所有的值,在前台展示,然后和用户选中的进行匹配*/

List list = new ArrayList();

list.add("香蕉");

list.add("雪梨");

list.add("西瓜");

ActionContext.getContext().put("list", list);

return this.SUCCESS;

}

}

注:复选框向后台传值,传过去的是一个字符串,且带有空格,所以必须去除空格,但是用trim()方法是去除不了的,使用trim()方法之后的效果。如下:

ee53395837e8731af5629389a439179a.png

如图,毫无效果!但是,我们可以使用replaceAll()方法,去替代空格,效果如下:

0b477f4c645a3c00592f9d23e577b973.png

另外为了在修改界面展示所有的复选框(水果),我们在Action中模拟从数据库中取出所有的值,然后和用户选择的复选框一起传到修改界面。

修改界面:

您选择的水果:

${fr == list ? "checked" : ""}

/>${list}

注:修改界面比较复杂,首先是遍历所有复选框(水果),在每个浮选中又使用一个forEach循环,去遍历用户选择的所有复选框(水果),然后通过三目运算符去判断当前复选框是否被用户选中,如果匹配,就勾选。

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值