`
coocle
  • 浏览: 21007 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

不通过action的话,如何在jsp中获得数据?

阅读更多
我的问题是:

有一add_user.jsp页面用于添加用户,其中部门下拉列表负责列出当前有效部门,有效部门非固定,需要充数据库中查询,可是我又不想在连接到这个jsp页面之前通过一个action来产生departments列表,有什么其它办法么?

用jsp肯定是能实现的,但我想只用ww而不是jsp代码来做。我觉得应该有个引用某模板的功能,该模板的作用就是根据我的要求产生一些数据,象departments,users等等,当我需要这些数据时,直接引用就可以了。我找了半天没找到,看来ww方面的材料还是太少了些。

知道的请指教一下,谢谢了!
分享到:
评论
13 楼 leobluewing 2006-10-24  
数据存储这些代码应该放到你的业务逻辑层,而不是放在数据传送层的

action只是告诉form,我要传哪些数据给你。

如果你有的数据获得是写在action里传到jsp,而有的数据获得是直接在jsp上用tag体现。这样就显的太乱了。

当然,说实话,具体问题具体分析。 但是能够套在通用框架里的还是尽量的套进去吧。
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使用方式差不多,由于上面第二种方式行不通,所以只好采用这个方法,需要根据不用的需求生成数据载体类,好像有点不是很理想。

希望有人能提示些新的方法,目前上面三种,我依然觉得不是很好,希望能找到最终最优的解决方案。

谢谢!
11 楼 foxty 2006-10-24  
不想用action倒是有另外一种方法。

以前这么做过,在页面载入的时候通过ajax去获取对应部门列表,动态显示在页面上就即可。

不过这样跳过了action,在权限验证上就力不从心了。
10 楼 robbin 2006-10-17  
coocle 写道
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。


不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?

现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。


你不必创建action,直接配置一个com.opensymphony.xwork.ActionSupport去封装就行了。

很少的数据,可以通过Webwork的tag来获取。

不过action封装是必须的,否则享受不到Webwork拦截器的功能了。
9 楼 风雪涟漪 2006-10-17  
coocle 写道
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。


不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?

现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。

如果加权限处理呢?你不能保证链接的页面不做任何处理啊.比如说添加,我多了个要限制添加权限,总不能把那堆代码添加到JSP页面上吧? 以后难以维护.
8 楼 抛出异常的爱 2006-10-17  
coocle 写道
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。


不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?

现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。
是有必要的
但也不是必须的
看怎么维护的
如果想的话可以用jsp+bean 开发
那样可以节约很多资源
有时还是很方便的说
如果后来接手的人不明白你的想法
浪费的就不止是时间了....
7 楼 coocle 2006-10-17  
java虫 写道
进一个页面前一般都应该先进一个action准备一些数据呀。


不一定吖,比方说新建用户页面,就一个form,等着使用者填写,那需要准备什么数据么?

现在的问题就是,如果确实有些数据要准备,但这些数据又很少,比方说部门列表,是否一定有必要用一个action来准备这一点点的数据。
6 楼 java虫 2006-10-17  
进一个页面前一般都应该先进一个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.
4 楼 hasi 2006-10-17  
coocle 写道
robbin 写道

webwork的JSP Taglig可以达到你的需求

但我不建议跳过action


谢谢你的答复。不过还是有个疑惑,为什么这类功能不应跳过action呢?

象员工列表,部门列表等,虽然也需要从数据库查询数据,但都是为了给用户在使用时查看或做一个选择而已,本身不涉及业务逻辑,只是显示。如果每次需要用时都要通过一个单独的action来获得它,而这个 action除了获得这么个列表,其它什么功能都没有,是否太浪费资源了?

浪费资源是什么概念?
通过action结构上良好,层次分明,易于维护扩展
3 楼 LucasLee 2006-10-17  
coocle 写道

谢谢你的答复。不过还是有个疑惑,为什么这类功能不应跳过action呢?

象员工列表,部门列表等,虽然也需要从数据库查询数据,但都是为了给用户在使用时查看或做一个选择而已,本身不涉及业务逻辑,只是显示。如果每次需要用时都要通过一个单独的action来获得它,而这个 action除了获得这么个列表,其它什么功能都没有,是否太浪费资源了?


浪费资源?这个问题这么问就广了。
这就是性能问题,要提高性能有很多...很多地方都要注意,那就没边儿了。
关键是,获得合理或足够的性能。

浪费...就是生产力。

我们有东西可以浪费,比如你买了个1000块钱的显卡,你是不是每时每刻都在玩那么high的游戏?就算是,你上班的时候,机器是不是闲置的?这么说你的机器要像网吧那么用才算得上不那么浪费。但那省钱,不省心。你花钱不就买个开心么。

我们只需要总体上是得益的,不需要每个局部都得益。在编程里就是,现在的机器环境下,能适应目标负载就可以了,然后怎么方便怎么编码。
2 楼 coocle 2006-10-17  
robbin 写道

webwork的JSP Taglig可以达到你的需求

但我不建议跳过action


谢谢你的答复。不过还是有个疑惑,为什么这类功能不应跳过action呢?

象员工列表,部门列表等,虽然也需要从数据库查询数据,但都是为了给用户在使用时查看或做一个选择而已,本身不涉及业务逻辑,只是显示。如果每次需要用时都要通过一个单独的action来获得它,而这个 action除了获得这么个列表,其它什么功能都没有,是否太浪费资源了?
1 楼 robbin 2006-10-17  

webwork的JSP Taglig可以达到你的需求

但我不建议跳过action

相关推荐

    Java后台获取JSP页面多个复选框选中的值

    在Java后台获取JSP页面多个复选框选中的值是一个常见的需求,特别是在开发Web应用程序时。SSM(Spring、SpringMVC、MyBatis)框架是Java ...通过深入理解和实践这些概念,你将能够熟练地处理Web应用中的多选数据提交。

    JSP中文乱码常见3个例子及其解决方法.docx

    在JSP开发中,中文乱码是一个常见的问题,主要源于Web容器默认采用ISO-8859-1字符集,无法正确处理中文字符。本文将详细介绍三个常见的JSP中文乱码例子及其解决方法。 实例一:JSP页面显示时的乱码 在JSP页面直接...

    JSP避免Form重复提交的三种方案

    JSP 避免 Form 重复提交的三种方案是指在 Web 应用程序中,用户在提交 Form 后,如何防止用户不小心或恶意地重复提交表单数据,避免对服务器端和数据库造成不必要的负载和影响。下面是三种常见的解决方案: 一、...

    JSP文件是否有必要放在WEB-INF下

    从可维护性角度考虑,观点二认为,放到WEB-INF目录下的JSP文件,如果你直接去访问这个JSP文件是不可以的,必须通过Action的跳转,这样就能够理解为什么安全性高了,对于用户是不可见的,对于一些对于用户,可以直接...

    jsp参数传递

    JSP页面间参数传递是JSP应用中的一个重要环节,它能够帮助开发者在不同页面之间共享数据或状态信息。本文将详细介绍几种常见的JSP页面间参数传递方法及其应用场景。 #### 二、直接在URL请求后添加参数 这种方法是...

    Action名称的搜索顺序

    默认Action可以通过在包配置中设置`default-action-ref`属性来指定。 #### Action配置的默认值 Struts2框架提供了一些默认配置,以简化开发过程中的配置工作。这些默认值可以为开发者节省大量的时间和精力,特别是...

    jsp商业宣传网站--品红科技

    7. **MVC设计模式**:在JSP项目中,通常会结合Model-View-Controller模式,将业务逻辑、数据和视图分离,提高代码的可维护性和可扩展性。 8. **Web容器**:如Tomcat,是运行JSP和Servlet的环境,负责处理HTTP请求,...

    struts2 (手机化话务通系统)

    - Action与视图之间的数据传递通过ValueStack和OGNL(Object-Graph Navigation Language)实现,使得数据绑定更加灵活。 2. **MVC模式** - Model:负责业务逻辑处理,如数据库操作、数据计算等。 - View:负责数据...

    在Struts 2.0中实现表单数据校验

    ### 在Struts 2.0中实现表单数据校验 #### 一、引言 在Web应用开发中,确保用户提交的数据有效性和安全性是非常重要的一步。Struts 2.0框架提供了强大的功能来帮助开发者处理这些任务。本文将详细介绍如何在Struts...

    JAVAStruts语音视频教程分页显示数据WEB开发最好方法

    8. **状态管理**:在分页过程中,需要确保用户在不同页面间切换时,其他查询条件(如果有的话)能够被正确保留。这可以通过在Session或Cookie中存储这些条件来实现。 9. **性能优化**:为了提高性能,可以使用缓存...

    struts_分页显示数据

    5. **配置文件**:在`struts-config.xml`中,我们需要定义`PageListAction`,包括其对应的ActionForm(如果有的话)、结果页面(`pagetest.jsp`)以及可能的动作映射。 6. **数据库设置**:确保已经创建了名为`book...

    struts教程1-Action与Struts导航

    ActionForm可以包含一组getter和setter方法,供Action类在`execute()`方法中访问和验证这些数据。 ```java public class MyForm extends ActionForm { private String username; private String password; // ...

    java面试题

    答:声明式的事务管理主要是将在进行对数据库中数据的添加或者修改时需要执行事务管理,主要是为了避免在执行添加或修改的时候添加或修改不完全正确,导致数据丢失。spring使用AOP面向切面的思想进行事务管理的。 ...

    Struts in Action 中文版

    在Struts中,控制器(Controller)由ActionServlet担任,负责接收用户的请求,并调用相应的Action对象处理业务逻辑;模型(Model)通常是由ActionForm对象和业务逻辑层组成,用于存储和处理数据;视图(View)则是由...

    外文翻译 stus MVC

    This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology. Struts can help you control change in your Web project and promote ...

    eron留言本,采用JSP编写的,简单易懂

    在"eron留言本"中,JSP页面可能包含了以下组件: 1. **指令(Directives)**:如`&lt;%@ page %&gt;`,用于设置页面属性,比如字符编码、导入的Java类等。 2. **脚本元素(Scriptlets)**:`&lt;%...%&gt;`用于编写Java代码,...

    简单struts对单表的操作

    在Struts中,Action执行完毕后通常会返回一个字符串结果,这个结果被解析为一个视图路径,然后Struts会将控制权交给JSP页面,JSP通过EL(表达式语言)和JSTL(JSP标准标签库)来显示数据。 6. **分页的优化** 高效...

    json+AJAX例子

    在描述中提到的两个页面,一个是向JSP(JavaServer Pages)提交数据,另一个是向Action(通常是Struts或Spring MVC中的控制器)提交。JSP是Java的一种视图技术,用于生成动态内容,而Action是MVC框架中处理业务逻辑...

    超级有影响力霸气的Java面试题大全文档

     声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...

    Web-CRUD的操作

    Struts框架是MVC(Model-View-Controller)架构的一种实现,它简化了Web应用程序的开发,通过ActionServlet控制页面流转,ActionForm对象负责数据封装,而视图通常由JSP构建。 在实际应用中,项目的目录结构可能会...

Global site tag (gtag.js) - Google Analytics