我的问题是:
有一add_user.jsp页面用于添加用户,其中部门下拉列表负责列出当前有效部门,有效部门非固定,需要充数据库中查询,可是我又不想在连接到这个jsp页面之前通过一个action来产生departments列表,有什么其它办法么?
用jsp肯定是能实现的,但我想只用ww而不是jsp代码来做。我觉得应该有个引用某模板的功能,该模板的作用就是根据我的要求产生一些数据,象departments,users等等,当我需要这些数据时,直接引用就可以了。我找了半天没找到,看来ww方面的材料还是太少了些。
知道的请指教一下,谢谢了!
1 楼
robbin
2006-10-17
webwork的JSP Taglig可以达到你的需求
但我不建议跳过action
2 楼
coocle
2006-10-17
robbin 写道
webwork的JSP Taglig可以达到你的需求
但我不建议跳过action
谢谢你的答复。不过还是有个疑惑,为什么这类功能不应跳过action呢?
象员工列表,部门列表等,虽然也需要从数据库查询数据,但都是为了给用户在使用时查看或做一个选择而已,本身不涉及业务逻辑,只是显示。如果每次需要用时都要通过一个单独的action来获得它,而这个 action除了获得这么个列表,其它什么功能都没有,是否太浪费资源了?
3 楼
LucasLee
2006-10-17
coocle 写道
谢谢你的答复。不过还是有个疑惑,为什么这类功能不应跳过action呢?
象员工列表,部门列表等,虽然也需要从数据库查询数据,但都是为了给用户在使用时查看或做一个选择而已,本身不涉及业务逻辑,只是显示。如果每次需要用时都要通过一个单独的action来获得它,而这个 action除了获得这么个列表,其它什么功能都没有,是否太浪费资源了?
浪费资源?这个问题这么问就广了。
这就是性能问题,要提高性能有很多...很多地方都要注意,那就没边儿了。
关键是,获得合理或足够的性能。
浪费...就是生产力。
我们有东西可以浪费,比如你买了个1000块钱的显卡,你是不是每时每刻都在玩那么high的游戏?就算是,你上班的时候,机器是不是闲置的?这么说你的机器要像网吧那么用才算得上不那么浪费。但那省钱,不省心。你花钱不就买个开心么。
我们只需要总体上是得益的,不需要每个局部都得益。在编程里就是,现在的机器环境下,能适应目标负载就可以了,然后怎么方便怎么编码。
4 楼
hasi
2006-10-17
coocle 写道
robbin 写道
webwork的JSP Taglig可以达到你的需求
但我不建议跳过action
谢谢你的答复。不过还是有个疑惑,为什么这类功能不应跳过action呢?
象员工列表,部门列表等,虽然也需要从数据库查询数据,但都是为了给用户在使用时查看或做一个选择而已,本身不涉及业务逻辑,只是显示。如果每次需要用时都要通过一个单独的action来获得它,而这个 action除了获得这么个列表,其它什么功能都没有,是否太浪费资源了?
浪费资源是什么概念?
通过action结构上良好,层次分明,易于维护扩展
5 楼
Allen
2006-10-17
coocle 写道
robbin 写道
webwork的JSP Taglig可以达到你的需求
但我不建议跳过action
谢谢你的答复。不过还是有个疑惑,为什么这类功能不应跳过action呢?
象员工列表,部门列表等,虽然也需要从数据库查询数据,但都是为了给用户在使用时查看或做一个选择而已,本身不涉及业务逻辑,只是显示。如果每次需要用时都要通过一个单独的action来获得它,而这个 action除了获得这么个列表,其它什么功能都没有,是否太浪费资源了?
Try DispatchAction.
And according to Struts docs:
引用
Actions must be programmed in a thread-safe manner, because the controller will share the same instance for multiple simultaneous requests.
Which means your Action can only have one single instance at one single time.
6 楼
java虫
2006-10-17
进一个页面前一般都应该先进一个action准备一些数据呀。
7 楼
coocle
2006-10-17
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。
不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?
现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。
8 楼
抛出异常的爱
2006-10-17
coocle 写道
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。
不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?
现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。
但也不是必须的
看怎么维护的
如果想的话可以用jsp+bean 开发
那样可以节约很多资源
有时还是很方便的说
如果后来接手的人不明白你的想法
浪费的就不止是时间了....
9 楼
风雪涟漪
2006-10-17
coocle 写道
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。
不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?
现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。
如果加权限处理呢?你不能保证链接的页面不做任何处理啊.比如说添加,我多了个要限制添加权限,总不能把那堆代码添加到JSP页面上吧? 以后难以维护.
10 楼
robbin
2006-10-17
coocle 写道
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。
不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?
现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。
你不必创建action,直接配置一个com.opensymphony.xwork.ActionSupport去封装就行了。
很少的数据,可以通过Webwork的tag来获取。
不过action封装是必须的,否则享受不到Webwork拦截器的功能了。
11 楼
foxty
2006-10-24
不想用action倒是有另外一种方法。
以前这么做过,在页面载入的时候通过ajax去获取对应部门列表,动态显示在页面上就即可。
不过这样跳过了action,在权限验证上就力不从心了。
以前这么做过,在页面载入的时候通过ajax去获取对应部门列表,动态显示在页面上就即可。
不过这样跳过了action,在权限验证上就力不从心了。
12 楼
coocle
2006-10-24
JavaVision 写道
coocle 写道
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。
不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?
现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。
那非得又一卡车的数据,你才用action啊。
这理由傻的一塌糊涂啊
很傻么?我自己倒不觉得,这段时间我自己试了下,目前使用过三种方式:
1、在进入jsp页面前经过一个action进行数据准备,但由此引发后面处理逻辑的action中被迫加入了相应的数据保持及传输处理的代码,看着很不清爽。此方法已我个人觉得很不好,已排除在选择之外。
2、在JSP页面中直接调用<ww:action/>来获取数据,只需要定义一个action作为数据载体,再定义不同方法获得具体数据,这个方法看起来很好,定义清晰,使用方便。原来我打算就是这个了……可惜后来发现在进行验证处理时存在一些问题(具体看咱的另一个发问贴),目前先暂且搁置.
3、使用<ww:bean/>,这个和传统的javabean使用方式差不多,由于上面第二种方式行不通,所以只好采用这个方法,需要根据不用的需求生成数据载体类,好像有点不是很理想。
希望有人能提示些新的方法,目前上面三种,我依然觉得不是很好,希望能找到最终最优的解决方案。
谢谢!
13 楼
leobluewing
2006-10-24
数据存储这些代码应该放到你的业务逻辑层,而不是放在数据传送层的
action只是告诉form,我要传哪些数据给你。
如果你有的数据获得是写在action里传到jsp,而有的数据获得是直接在jsp上用tag体现。这样就显的太乱了。
当然,说实话,具体问题具体分析。 但是能够套在通用框架里的还是尽量的套进去吧。
action只是告诉form,我要传哪些数据给你。
如果你有的数据获得是写在action里传到jsp,而有的数据获得是直接在jsp上用tag体现。这样就显的太乱了。
当然,说实话,具体问题具体分析。 但是能够套在通用框架里的还是尽量的套进去吧。