请大家指点,学STRUTS2……

temp1898 发布于 2011/03/29 17:50
阅读 567
收藏 2

熬了几夜,感觉对struts2中的action认识提高了不少,想请大家指点一二,请不吝赐教。

第一、我用DAO这种模式搞,思路是:用JSP作提交和结果显示界面,用action处理JSP请求,并在action中校验输入,同时更新数据库表,成功后再转到JSP显示结果。对所有的数据表都进行了单独的DAO类处理,对每个数据表又进行了单独的分页查询类处理。不知这种思路对不对……(使用单独的数据库连接类,还没有学连接池的知识,准备搞清楚STRUTS2的action后再学连接池的知识)

第二、action处理JSP请求时,对所有的表单项都要get和set,如果表单很多的话(比如有50项),有没有其它更好的办法处理。

手边也没有详细的struts2方面参考书籍,所以只好请教大家了。

在此我要感谢那些曾经帮助和即将帮助我的网友们,谢谢大家了……

加载中
0
鉴客
鉴客

第二个不算是个问题吧:

现在开发工具都可以自动帮你生成 getter/setter 方法的

0
沙逛鱼
沙逛鱼

第二项 struts2不是默认提供自动转换的吗?

比如:

用户类

class User {

private String name;

private String address;

get/set略

}

页面上表单有 姓名 地址两项文本域(注意input的nam命名方式)

<input name="user.name"/>

<input name="user.address"/>

action里定义一个user对象变量就可以了,

private User user;

public get/set方法;

 

这样表单传过来的数据,就可以自动封装到user对象里了。。。这样就不用写50多个get、set了,只要一个user的get、set就可以了

啊是这个意思?struts2的入门指南里有介绍的呀。。。。还可以转换成list map等等。。。

0
ys-l
ys-l

第一点的理解是正确的,DAO封装对数据库的操作,Action处理请求并对数据进行校验,然后调用DAO类实现功能,如果功能比较复杂,可以增加Service层将业务逻辑封装,Action-Service-DAO。

第二点的getter和setter一般都使用IDE自带的功能生成。不需要自己写。楼上提供的使用实体Bean的方式也是可以的。

0
Bisle
Bisle

getter和setter可以IDE自动生成,况且如果表单里的内容不需要处理的话也就不一定要写getter和setter,bean里只写需要的就行

0
temp1898
temp1898

很感谢大家对我的指点,让我学习的劲更足了……

set/get确实不用我们写,但我担心代码太多会不会占用系统资源。

三楼沙逛鱼师兄的方法,一定找个时间研究一下,到时候不免又要麻烦大家,先谢谢了,感谢大家的帮助。

0
Bisle
Bisle

bean不会太占资源的,放心好了

0
easonwang
easonwang

第一个的理解一有点小问题

一般都是.jsp->action->service->dao这样的一个过程,不过你刚开始弄struts2也无所谓.自己知道就行了

关于连接池的话..hibernate和spring好像都可以做

第二个,action处理JSP请求时,对所有的表单项都要get和set,如果你有50项的话那就必须要有50个get/set

因为对于属于提供get/set是java面向对象的一种封装机制,而struts2-core里面的valueStack运行机制是根据页面的表单元素提交到action后,valuestack会自动根据表单元素的Name属性去填充action类中对应元素的属性

很方便的

0
霖vv
霖vv

首先要理解的是 MVC 模式

0
temp1898
temp1898

4楼和8楼的师兄提到的service不知是什么角色,我买的书上没有提及,是不是和action一样是接口还是其它什么,service是属于那个环节的,看来我要重新买书了……

hibernate和spring倒是在网上看了一些资料,感觉有点难度,准备进一步学习,尤其是orm好像不用再搞sql语句,应该很方便。

0
easonwang
easonwang

jsp/html属于表现层

action是属于控制层

service属于业务层

dao属于数据层

jsp-->action-->service-->dao

一个完整的ssh就是这样子的过程...一层调一层,,都由spring进行管理

返回顶部
顶部