两种方法:
一种是在持久层获取所有页面需要的数据,组合成一个大的数据对象,传给界面,这样需要写复杂的sql语句,与面向对象的设计原则不太相符,但是简单实用,速度快。但数据库结构变化将带来非常严重的后果,你会发现你不得不从持久层一直改到表现层。
另外一种就是在业务逻辑层组装,通过调用不同的数据访问对象来获得不同表中的数据,这样一个DAO可以对应一个表,设计比较明晰,但是可能会产生效率问题。
一种是在持久层获取所有页面需要的数据,组合成一个大的数据对象,传给界面,这样需要写复杂的sql语句,与面向对象的设计原则不太相符,但是简单实用,速度快。但数据库结构变化将带来非常严重的后果,你会发现你不得不从持久层一直改到表现层。
另外一种就是在业务逻辑层组装,通过调用不同的数据访问对象来获得不同表中的数据,这样一个DAO可以对应一个表,设计比较明晰,但是可能会产生效率问题。
解决方案 »
- 在servlet中如何取得前台table表格中的数据
- httpclient 从服务端读取大文件
- 各位大哥请帮忙,我是新手
- 如何在没有配置java环境的电脑上,使用微软java虚拟机运行java写的程序?
- 求一通用的方法把 从oracle库里查出的集合以Excel格式导出。
- detachedCriteria
- 关于struts的<logic:iterator>的问题
- jbuilder9配置JDBC驱动程序的问题
- 在XML中怎么换行,在java中,在字符串中加如\n来换行,请问在字符串中加入什么符号可以在输入到的XML文件中换行,谢谢
- 页面上Applet为什么就显示一个灰色框?没有任何内容
- ×××××××××关于htm文件在tomcat中显示是,IE的编码不能自动选择简体中文的问题××××××××
- 部署提示remote interface里没有抛出java.rmi.RemoteException问题,可是我的remote interface里抛出了啊
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception { EmployeeForm employeeForm = (EmployeeForm)form;
Bean bean = new Bean(); bean.initForm(employeeForm);
return 想去得页面}Bean{
public void initForm(EmployeeForm ef)
{
//从数据库中取出值,然后set到form中去
}
}
你们大概意思是这样的吧:
在forward到addemployee.jsp之前,还要另加一个InitEmployeeForm之类的Action,准备好depts,ranks等数据,为addemployee.jsp中的表单所用。
我试试,多谢
关于性能的问题也可以交给数据库端解决。
你们大概意思是这样的吧:
在forward到addemployee.jsp之前,还要另加一个InitEmployeeForm之类的Action,准备好depts,ranks等数据,为addemployee.jsp中的表单所用。
我试试,多谢
=============================没错,我们公司都是这么搞的,
先调用Business类,然后在DAO中分别取出depts,ranks需要的数据
得到这两个数据的对象以后,就可以按你的要求在前台显示让用户选择了。
并且数据库连接也是在Business中建的,为了取这两个数据新建一个action似乎没什么必要哦。
这样不好吧??
至于dao是Business调的,也已经跟jsp分开了
比如在action里还可以对数据做一些转换,其他处理之类。
如果没有提交的话,这一步可以省略掉的哦。
你们大概意思是这样的吧:
在forward到addemployee.jsp之前,还要另加一个InitEmployeeForm之类的Action,准备好depts,ranks等数据,为addemployee.jsp中的表单所用。
------------------------------------------------这样感觉还可以,
我说的是数据的穿过系统的方式
其实这些问题的根源都是来自于对象模型和关系模型对数据之间关系的表达方式不同
所以在程序中至少要在一个地方进行转换至于是不是要另外加一个Action来专门处理这些数据
至少这个我们不是这么用的
《Java Web 编程指南》第18章的Struts例子处理这种问题非常好,是采用一个自定义标签来加载这些公共数据。在需要这些数据的JSP中,只需要把这个自定义标签加上去就行了。----------------------------------------------------------------想学学这种方法,不知道哪有这本书下载?找了半天没找到。
一种是通过一个Action将数据准备好;
另一种方法是如ratduck, kui的说法,通过一个自定义的标记来实现。
thx...