仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 486|回复: 13
打印 上一主题 下一主题

[学习教程] 来看Struts1.x系列教程(18):利用DispatchAction类挪用多个Action办法

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)
在利用Struts举措时,每个Action都必要编写一个类,而且要在struts-config.xml举行设置。这关于一个具有良多Action的Web程序来讲,事情量长短常年夜的。为此,Struts供应了DispatchAction类,这个类同意将一个Action作为一个办法来挪用。在Web扫瞄器中经由过程哀求参数来指定要挪用的举措。
固然DispatchAction类是一个笼统类,但个中却没有一个笼统办法。因而,DisplatchAction的子类不必完成任何DisplatchAction类中的办法。但假如要处置Action代码,就必需依据响应的Action来编写Action办法。一个Action办法除办法名和execute办法纷歧样外,其他的都和execute办法完整一样。但编写Action办法时要注重,Action办法名必需和用于指定举措的哀求参数值分歧(巨细写也必需分歧)。鄙人面的例子中演示了经由过程DispatchAction类完成办法和Action的对应。在这个例子中,有三个办法:fr、en和unspecificed。个中fr和en是两个Action办法,分离用于将以后页面转发到法文和英文页面,而当用于指定Action的哀求参数不存在时,则挪用unspecificed办法(在这个办法中将以后页面转发到中文页面)。在这个程序中利用的用于指定Action的哀求参数为language(读者能够指定本人的哀求参数)。
在<samples工程目次>srcaction目次创建一个MyDispatchAction.java文件,代码以下:
  1. packageaction;importjavax.servlet.RequestDispatcher;importjavax.servlet.http.*;importorg.apache.struts.action.*;importorg.apache.struts.actions.*;publicclassMyDispatchActionextendsDispatchAction{//forward到法文页面publicActionForwardfr(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){try{RequestDispatcherrd=request.getRequestDispatcher("/newGlobal.jsp?language=fr");rd.forward(request,response);}catch(Exceptione){}returnnull;}//forward到英文页面publicActionForwarden(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){try{RequestDispatcherrd=request.getRequestDispatcher("/newGlobal.jsp?language=en");rd.forward(request,response);}catch(Exceptione){}returnnull;}//在未利用language=fr和language=en作为会见参数的情形时挪用这个办法protectedActionForwardunspecified(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{try{//forward到中文页面RequestDispatcherrd=request.getRequestDispatcher("/newGlobal.jsp?language=zh");rd.forward(request,response);}catch(Exceptione){}returnnull;}}
复制代码
<p>
不得不提一下的是:.net网页编程是看到java红,而开发出来的工具。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-20 21:32:15 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.ckuyun.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
乐观 该用户已被删除
板凳
发表于 2015-1-22 21:13:19 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
莫相离 该用户已被删除
地板
发表于 2015-1-25 17:10:03 来自手机 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
再现理想 该用户已被删除
5#
发表于 2015-2-3 11:58:08 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
不帅 该用户已被删除
6#
发表于 2015-2-5 20:06:06 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
山那边是海 该用户已被删除
7#
发表于 2015-2-11 03:55:12 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
飘灵儿 该用户已被删除
8#
发表于 2015-2-18 13:26:02 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
愤怒的大鸟 该用户已被删除
9#
发表于 2015-2-23 09:28:57 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
若相依 该用户已被删除
10#
发表于 2015-3-5 00:48:50 | 只看该作者
是一种使用者不需花费很多时间学习的语言
柔情似水 该用户已被删除
11#
发表于 2015-3-7 12:09:40 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
因胸联盟 该用户已被删除
12#
发表于 2015-3-11 13:34:19 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
谁可相欹 该用户已被删除
13#
发表于 2015-3-18 14:36:41 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
老尸 该用户已被删除
14#
 楼主| 发表于 2015-3-25 23:39:51 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 14:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表