今天面试时,面试官提了一个问题,说什么如果jsp页面中有很多的parameter(特别多),问怎样在action及以下各层中处理,我没明白他想让我回答什么,最后说了个你有没有用过“什么什么bean”的,我记不起来了,问下各位有没有知道的。

解决方案 »

  1.   

    这就是将参数封装到dto中(action中用getModel获取),然后再从dto中取出数据封装到do(pojo)中,service层和dao层都是对do(pojo)进行操作
      

  2.   

    各个层之间不是直接操作这一大堆的parameter的,一般情况下,开发者会封装多个JavaBean,也就是二楼说的dto,然后再把dto从持久层往外传,或者从页面往底层传。
      

  3.   

    其实就是问你分层的概念
    Action-Biz-Dao这3层;
    以注册为例,最好封装了User类(就是个JavaBean)
    以Struts2为例在Action中
    class RegisterAction extends ActionSupport{
    private User user;
    //setter/getter
    //一些格式验证
    然后把user对象传递给Biz,
    Biz层业务处理
    Dao层操作数据库的
      

  4.   

    楼主没有理解面试官的问题,其实就是让你讲一下持久层的应用,使用javaBean封装,操作对象而不要操作那么多的parameter
      

  5.   

    一般当一个方法参数超过3,4个的时候,我们会选择新建一个对象Bean来进行封装