• ActionForm中reset()的用法


    个方法可能被好多人遗忘,但是它确实能解决我们棘手的问题.


    我们写的FormBean必须实现ActionForm的超类,reset方法就是定义在这个超类中的.打开源代码可以看到它实际没做什么. 你要使用它,必须自己实现相应的逻辑.

    reset方法的调用时间是在ActionServlet给它重新赋值的时候.也就是说,当ActionServlet把View层的数据组装好,给FromBean的各个属性赋值之前,会先调用reset方法,然后ActionServlet再把页面的值赋上.

    在处理页面的checkbox的时候,reset方法的作用就表现出来了. 页面上的checkbox在未被选中的时候是不被提交的,在新增的时候还好,你可以通过这个属性是否为null判断这个checkbox是否被选中,但是在修改操作的时候, 如果之前checkbox是被选中的,但是修改的时候你取消了选中, 提交的时候,那么FormBean中的这个属性值就不会被覆盖,还是选中状态的值! 这个时候我们覆写reset方法,就可以解决这个问题.

    例如:

    是否显示:

    FormBean中的reset()可以这样:

    public void reset(ActionMapping arg0, HttpServletRequest arg1) {
    super.reset(arg0, arg1);
    this.isDiplay="false";
    }

    在每次组装数据前,reset都会把isDiplay置为false,如果页面上被选中,就会再次被设置为true, 如果未被选中还会保持false !

  • 相关阅读:
    PHP获取今天、昨天、明天的日期
    PHP使用Apache中的ab测试网站的压力性能
    php 数组操作
    ajax实时获取下拉数据
    php微信支付测试开发(流程已通)
    微信支付调用JSAPI缺少参数:timeStamp
    JS dom最常用API
    Javascript刷新页面的几种方法
    php+mysql 安全
    隐式的类类型转换
  • 原文地址:https://www.cnblogs.com/dafa/p/2834410.html
Copyright © 2020-2023  润新知