日期:2014-05-18  浏览次数:20640 次

讨论一下JSTL+EL+javaBean前台数据显示.
最近做一个项目,完全采用JSTL+EL,收获很大.特别是在前台显示时,通过
HTML code
<jsp:useBean></jsp:useBean>
把dao引入,
dao中有get方法,方法中分别把数据以Map[]的方式返回,这样在前台就可以通过JSTL+EL轻松把数据显示出来,对于前面初始化数据相当完美...
但是本人才疏学浅,不知道这种办法弊端在哪里?网上我没找到相关资料,希望各位资深工程师点评点评..

dao:
Java code
    public Map[] getInstitute() {
        Institute institute = new Institute();
        Result result = institute.selAbout();
        Map[] maps = result.getRows();
        institute.close();
        return maps;
    }


JSP
HTML code
<jsp:useBean id="index" class="com.bzf.index.dao.IndexDao" scope="page"></jsp:useBean>

${index.institute[0]["Institute_contact"]}



------解决方案--------------------
引用楼主 tidelgl 的帖子:
最近做一个项目,完全采用JSTL+EL,收获很大.特别是在前台显示时,通过HTML code<jsp:useBean></jsp:useBean>把dao引入,
dao中有get方法,方法中分别把数据以Map[]的方式返回,这样在前台就可以通过JSTL+EL轻松把数据显示出来,对于前面初始化数据相当完美...
但是本人才疏学浅,不知道这种办法弊端在哪里?网上我没找到相关资料,希望各位资深工程师点评点评..

dao:
Java codepublicMap[] getInstitute() {
Institute inst…

------解决方案--------------------
这种做法表现层与控制层耦合在一起,不符合面向对象的设计思想,不利于软件模型设计、项目管理及分工合作。
------解决方案--------------------
探讨
究竟是什么原因让大家说 <jsp:useBean>过时了呢?现在流行什么办法获得对象???除了Action外的..

------解决方案--------------------
优点:
1)技术很成熟。技术门槛比较低。维护比较容易。
2)你和你的公司的技术人员,对这个技术也熟悉,维护起来没什么难度。
  
缺点:
1)这个技术不适合需要好几十人同时开发的大型的系统。因为,需要管理能力超强的管理人员。这种人不好找。
  

另外,这个技术完全可以用来开发你们公司的内部系统,不需要担心访问量的问题。

最后,没有最好的技术,只有最合适!
------解决方案--------------------
1·缺少业务分层,复杂的业务难道你要写在jsp当中?

2·事务管理请问阁下在那里管理,难道你在Dao层管理吗?我猜你是写在JSP的吧?异常处理?

3·<jsp:usebean>这些东西,我说是一个败笔,用他没有一点好处。我曾经见过纯jsp写的项目,事务管理也是在jsp中。

4·且不说一些复杂的权限控制和资源访问限制了,你这里根本就是屏蔽了C,S层,直接一个V层当MVC来用。

5·任何小的项目,我觉得MVC都应该用的吧,就算你用MVC框架,用Servlet来做C也是非常简单的吧。

6·可扩展性和重用性更不用谈了,只有一个dao有一些重用。其他都要重复代码。

--------------以上纯本人愚见