`
xmx0632
  • 浏览: 119505 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts 摘录

阅读更多
5. 使用 Prebuilt Action类提升开发效率

Struts framework带有好几个prebuilt Action类,使用它们可以大大节省开发时间。其中最有用的是org.apache.struts.actions.ForwardAction 和 org.apache.struts.actions.DispatchAction.

使用 ForwardAction

在应用程序中,可能会经常出现只要将Action对象转发到某个JSP的情况。在上一点中曾提到总是由Action调用JSP是个好习惯。如果我们不必在Action中执行任何业务逻辑,却又想遵循从Action访问页面的话,就可以使用ForwardAction,它可以使你免去创建许多空的Action类。运用ForwardAction的好处是不必创建自己的Action类,你需要做的仅仅是在Struts配置文件中配置一个Action mapping。

举个例子,假定你有一个JSP文件index.jsp ,而且不能直接调用该页面,必须让程序通过一个Action类调用,那么,你可以建立以下的Action mapping来实现这一点:

正如你看到的,当 /home 被调用时, 就会调用ForwardAction 并把请求转发到 index.jsp 页面.

再讨论一下不通过一个Action类直接转发到某个页面的情况,必须注意我们仍然使用<action>元素中的forward属性来实现转发的目标。这时<action>元素定义如下:

以上两种方法都可以节省你的时间,并有助于减少一个应用所需的文件数。

使用 DispatchAction

DispatchAction是Struts包含的另一个能大量节省开发时间的Action类。与其它Action类仅提供单个execute()方法实现单个业务不同,DispatchAction允许你在单个Action类中编写多个与业务相关的方法。这样可以减少Action类的数量,并且把相关的业务方法集合在一起使得维护起来更容易。

要使用DispatchAction的功能,需要自己创建一个类,通过继承抽象的DispatchAction得到。对每个要提供的业务方法必须有特定的方法signature。例如,我们想要提供一个方法来实现对购物车添加商品清单,创建了一个类ShoppingCartDispatchAction提供以下的方法:

那么,这个类很可能还需要一个deleteItem()方法从客户的购物车中删除商品清单,还有clearCart()方法清除购物车等等。这时我们就可以把这些方法集合在单个Action类,不用为每个方法都提供一个Action类。

在调用ShoppingCartDispatchAction里的某个方法时,只需在URL中提供方法名作为参数值。就是说,调用addItem()方法的 URL看起来可能类似于:

http://myhost/storefront/action/cart?method=addItem

其中method参数指定ShoppingCartDispatchAction中要调用的方法。参数的名称可以任意配置,这里使用的"method"只是一个例子。参数的名称可以在Struts配置文件中自行设定。
分享到:
评论

相关推荐

    Spring与Struts集成_第一种方案摘录

    在Java Web开发中,Spring和Struts是两个非常流行的框架,它们分别负责不同的职责。Spring是一个全面的开源应用框架,提供了依赖注入(DI)和面向切面编程(AOP),而Struts则专注于MVC(Model-View-Controller)...

    java 笔记(编程十年精华)

    在“JAVA框架笔记摘录”这个文件中,你可以期待找到关于如何使用这些框架进行实际开发的详细教程,包括但不限于: 1. Struts框架的MVC实现,动作类的创建,以及配置文件的设置。 2. Spring框架的核心概念,如依赖...

    基于MVC模式的车身CAD_CAE信息集成系统研究.pdf

    部分内容摘录显示,研究是基于MVC模式,并且详细探讨了如何利用JSP、Servlet和JavaBean等技术来构建车身CAD/CAE信息集成系统。同时,分析了使用Struts框架的好处,尤其是在安全性和系统结构方面。 在实际应用中,...

    基于JavaEE的个人数字图书馆的设计与实现毕业论文.doc

    同时,通过“我的收藏”功能,用户可以保存有价值的网络摘录,便于日后查阅。 【信息与交流】“信息”模块允许用户之间发送和接收信息,形成知识共享和交流的平台。而“日志”功能则鼓励用户记录和分享他们的想法和...

    基于java-ee的个人数字图书馆的设计与实现毕业论文设计.doc

    2. **我的收藏**:用户可以保存感兴趣网页的摘录,类似于网络书签,便于日后查看。 3. **备忘录**:提供一个记录待办事项和计划的平台,帮助用户管理时间。 4. **信息**:允许用户之间发送消息,促进思想交流。 5. *...

    logic标签库.pdf

    由于提供的文件内容是一个关于“logic标签库.pdf”的摘录,内容涉及了一系列与JSP页面开发相关的标签和属性。为了使内容更加通顺,以下是对这些知识点的整合和解释,将尽量避免直接引用原始文档的文字以减少OCR错误...

    Myeclipse全面详解

    第二部分是开发篇,涵盖了目前主流的Java项目开发所使用框架,如Struts、Hibernate、Spring和Struts2等,这一部分是本书的核心,旨在让读者掌握这些框架在MyEclipse环境中的应用。第三部分的内容虽然没有在摘录中给...

    我的收藏夹

    6. **WebWork China - WebWork & Struts2中文站点 - WebWork in Action 中文版 面世了.url**:WebWork和Struts2是Java Web开发中的两个MVC框架,这个链接可能指向一个关于这两个框架的中文教程或社区,适合Java Web...

    java每月新闻杂志13

    3. **开源项目动态**:JavaEye新闻月刊通常会报道一些流行的开源Java项目,如Spring框架、Hibernate ORM、Struts、Tomcat、Jetty等的最新进展和社区活动。 4. **编程实践**:分享一些Java编程的最佳实践,例如代码...

    转:报表插件JFreeChart的使用

    "转"可能意味着这是一个从其他来源(比如博客)摘录或翻译的内容,而博文链接提供了更详细的信息来源。 描述中提到的“NULL”意味着没有额外的上下文信息,但我们可以通过提供的博客链接进一步了解JFreeChart的用法...

    让人震惊的java书!

    从给定的文件信息来看,标题和描述提及的是关于Java编程语言的一本书籍,然而,提供的部分内容实际上是一段古代文学作品的摘录,与Java编程无关。因此,我们将基于标题和描述中的关键词“Java”来生成相关的IT知识...

    MyEclipse使用手册

    - **特色内容**:书中不仅涵盖了MyEclipse的安装和使用方法,还特别加入了最新的开源框架——Struts2、Spring2以及Hibernate3的介绍,并通过精选实战案例加深理解。 #### 二、开发环境的搭建 - **系统需求**:首先...

    JAVA上百实例源码以及开源项目源代码

    部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 String serverAddr=jtfServer.getText(); //得到服务器地址 String user=jtfUser.getText(); //得到用户名 String pass=jtfPass.getPassword...

Global site tag (gtag.js) - Google Analytics