站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题在三层结构中,数据交互的疑问,希望大侠指点

在三层结构中,数据交互的疑问,希望大侠指点

摘要: 在三层结构中,数据交互的疑问,希望大侠指点


我系统现在的开发框架是Struts+Spring+Hibernate,基本上理解了这三层各层的职责和主要负责处理的范围,但是在Spring层和Struts层之间是怎么一种数据传递方式是最科学的,也就是说在jsp页面中怎么去接受业务逻辑数据,并且JSP用一种什么方式去处理接受来的数据.
举一个很简单的例子,我现在把一个查询出来的数据集传递给jsp前台页面,我现在是这样处理的。
我写了一个Action,然后把这个数据集写到一个session里面传递过去.
..
List queryObject = sysUserDAO.query();

if (queryObject.size() > 0 ){

HttpSession session = request.getSession();

session.setAttribute("QueryObject",queryObject);

return mapping.findForward("sysUserGo");
}

return mapping.findForward("platformIndexGo");
...

然后在jsp页面..去取出数据,显示在页面上.
像上面这种方法在这种情况下jsp页面不会存在很多java代码,应该是比较好的一种方法,
但是有些情况下,jsp页面里面回搀杂很多java代码,那样维护起来不是很麻烦吗?
例如:
我要生成一棵树,如果生成的是一个不能收缩的树,那么我想直接传递树列表过来就可以,
反之是不是需要借助js脚本和java代码在jsp里面写上很多代码,这样的方式对吗?

还有一种情况是,我写了一个简单的Class,主要是用来取时间,
public class SystemDate {

public String getDate() {

...
return date;
...

}
现在我处理的方式是在需要显示时间的jsp页面的开头都加上一句导入包.
<%@ page import="com.ems.system.manager.SystemDate" %>
..
<table>
<tr>
<td>今天是:<%= new SystemDate().getDate()%></td>
</tr>
</table>
..
这样一种方式去处理,是合理的吗?现在心理比较迷惑,如果这样做,不是很复杂,对于很多页面需要显示时间,那不是工作量会很大,这里只是用时间作为一个例子来说明此类问题.不知道大侠们在处理前后台数据交互是怎么做的,希望大家不要多多指点.本人感激不尽.


up


我也差不多是这样处理的.有时项目连框架都不用,直接就是jsp + javabean

所以我觉得适合的才是最重要的!




有时候我也很困惑。。


很多人都有我类似的同感?
希望高人进来指点,拯救迷惑的"小羔羊"


本人觉得,如果版主看到应该把贴置顶一星期,因为很多人都有我这样的疑惑。
而且现在还没有什么好的解答。


session里面放太多的数据肯定是不合理的

你可以在显示层和数据层之间自己写个接口 那么jsp中只要调用这个接口中的方法就可以获取相应的数据 还能符合三层架构


能给个具体的例子吗,楼上的老大。


学习!!





获取Bean的属性值,用于显示在页面中





JSP 语法






例子








Calendar of








描述


这个元素将获得Bean的属性值,并可以将其使用或显示在JSP页面中.在你使用之前,你必须用创建它.


元素有一些限制:




你不能使用来检索一个已经被索引了的属性


你能够和JavaBeans组件一起使用,但是不能与Enterprise

Bean一起使用。





属性





name="beanInstanceName"
bean的名字,由指定





property="propertyName"
所指定的Bean的属性名。





技巧:




在sun的JSP参考中提到,如果你使用来检索的值是空值,那么NullPointerException将会出现,同时如果使用程序段或表达式来检索其值,那么在浏览器上出现的是null(空).


放在request里面呀,放session里面不好


www.9i5e.com也是这样的


↑返回目录
前一篇: 急啊,高手过来看看啊!关于HTTP协议传输文件的问题!
后一篇: 菜鸟问题: