关闭顶部展开顶部

Struts初级教程(6)-使用模块_JSP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:Struts初级教程(5)-表单验证
应该清楚在Struts框架中,使用ActionFormBean来实现应用程序系统的非持久性数据存储和维护功能,它采用了自动填充属性和调用的机制。所以必须继承ActionForm类,并且包涵用户表单输入的属性,以及相应的get方法和set方法。另外,还可以根据需要重写父类的res

      模块化编程是目前趋势,即把项目分成了多个模块交由不同小组开发。
      使用Struts框架时,每个请求都由Action去处理,并且还要在struts-config.xml中加以设定,这样以来做小项目还行,在大型网站的开发中,有很多小组负责不同的模块,如果每一个小组要对一个struts-config.xml进行设定,将会导致struts-config.xml的版本控制问题。
     所以为了解决这个问题,可以为每个小组分配不同的struts-config.xml设定文件,方法是在ActionServlet参数的config参数后面加上后缀,如果是config/admin,那么相应的配置文件的名字就是:struts-config-admin,他们的后缀名字必须对应,这样才能映射上。

例如我们可以把后台处理分配一个小组,设定具体代码如下所示:web.xml
<servlet> 
    <servlet-name>action</servlet-name> 
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
        <init-param> 
            <param-name>config</param-name> 
            <param-value>/WEB-INF/conf/struts-config.xml</param-value> 
        </init-param> 
        <init-param> 
            <param-name>config/admin</param-name> 
            <param-value>/WEB-INF/conf/struts-confg-admin.xml</param-value> 
        </init-param> 
        <init-param> 
                <param-name>debug</param-name> 
                <param-value>3</param-value> 
        </init-param> 
        <init-param> 
                <param-name>detail</param-name> 
                <param-value>3</param-value> 
        </init-param> 
        <load-on-startup>0</load-on-startup>
</servlet> 
       config/admin:指定了admin模块的所使用的配置文件是struts-config-admin.xml,现在负责后台模块的开发人员只要管理自己的开发文档设定就行了,就像前面所说的一样,当ActionServlet收到请求时,它是根据模块你所指定的后缀,进行处理是哪个模块的请求。
例如: 
       http://localhost:8080/strutsmodel/admin/admin.do
这个URL,表示请求由strutsmodel工程的admin环境的admin.do来处理这个请求。这样以来前台和后台就分明了,各自开发各自的,各自管理自己的配置文件,达到松耦合的目的。
当ActionServlet请求接收请求,它判断URL中相对与context的前缀,例如上例中的admin,于是就知道应该使用admin模块。下面是struts-config-admin.xml:
……
<action 
    path="/admin" 
    type="org.zhoudq.webapp.action.AdminAction" > 
    <forward name="admin" path="/admin.jsp" />
</action>
……
这样以来所有的path设定将自动被加上login前缀,例如必须使用以下的路径才可以正确的请求到AdminAction:
http://localhost:8080/strutsmodel/admin/admin.do
在模块中的Action在查找forward时,都是以所在模块,查找对应的struts-confg-XXX.xml的,例如上面的AdminAction在查找forward时,则会查找struts-config-admin.xml中的forward元素,也就是说,模块中的forward对象的查找都是相对于模块的路径的,而不是相对与环境上下文。
那么我们模块分配工作几已经搞定了,各个小组可以分别开工了,但是问题来了,那么如何从当前的模块换到另一个模块呢?
当您的项目分作很多个模块时,在使用者点某个链接时,您有两个方法可以在模块之间切换。
一、方法一
是使用相对与环境上下文的路径进行forward转发,您可以在当前的struts-config-XX.xml如下设定,例如是:struts-config-admin.xml中加入:
<global-forwards> 
    <forward 
    name="switchModuleToFront" 
    contextRelative="true" 
    path="/front/login.do" 
    redirect="true"/>
</global-forwards>
这个是全局可以找到的forward中设定的,下面是在action元素中设定如何转发模块,代码如下: 
       ……
<action 
    path="/admin" 
    type="org.zhoudq.webapp.action.AdminAction" > 
        <forward   
                name="admin" 
                contextRelative="true" 
                path="/front/login.do" 
                redirect="true"/>
</action> 
       ……
上面这种配置就是通过forward元素转换到相应的模块,下面我们看另一种方法吧。
二、方法二 
       这种方法是我们通过配置Struts的一个特定的类SwitchAction,就能实现上面的要求了。并且需要两个参数:
1.    prefix:用来指定模块的后缀名称
2.    page:用来指定你的资源路径。
例如: 
       …… 
              <action-mappings> 
                  <action 
                  path="/switch" 
                  type="org.apache.struts.actions.SwitchAction"/>
</action-mappings> 
       ……
例如:
http://localhost:8080/strutsmodel/switch.do?prefix=/admin&page=/admin.do 是访问我们后台模块的admin.do资源。

分享:Struts初级教程(4)-对国际化的支持
随着全球经济的在体化趋势,网页设计开发者应该开发出支持多国语言、国家化的web应用程序。就是一个web应用程序在运行时能够根据客户端请求所来自的国家和语言的不同显示不同的用户界面。这样当需要在应用程序中添加对一种新的语言的支持时,不需要对已有的软

来源:模板无忧//所属分类:JSP教程/更新时间:2010-03-23
loading.. 评论加载中....
相关JSP教程
闂佹眹鍩勯崹閬嶆偤閺囶澁缍栭柛鈩冪⊕閳锋帗銇勯弴妤€浜惧銈忕秶閹凤拷
濠电偛顕慨顓㈠磻閹炬枼妲堥柡鍌濇硶婢ф稒淇婇懠顒夆偓婵嬫煟閵忊晛鐏查柟鍑ゆ嫹
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径瀣閻庣懓瀚竟鍡欐崲娑斾線鏌i姀鈺佺伈闁瑰嚖鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勵吋闂佽鍨庨崟顓фК闂佽閰eḿ褍螞濞戙垺鍋夐柨鐕傛嫹
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ帒鍊哥敮鍫曞箹鐎涙ḿ鐭掔€规洘绻堥弫鎾绘晸閿燂拷
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ巻鍋撻柛姘儑缁﹪鏁傞崜褏鐓撻柣搴岛閺呮繈鎯屽▎鎴犵=濞撴艾锕ョ€氾拷
闂備浇銆€閸嬫挻銇勯弽銊р槈闁伙富鍣i弻娑樷攽閹邦亞鑳虹紓浣靛妽濡炶棄顕i妸鈺婃晬婵炲棙鍨电粭锟犳⒑閸濆嫬鈧骞婇幘鑸殿潟闁跨噦鎷�
闂備礁鎼崯鐗堟叏妞嬪海绀婂鑸靛姈閻擄綁鎮规潪鎷岊劅婵炲眰鍊曢湁闁挎繂妫欑粈鈧梺鍛娚戦悧鐘茬暦閹扮増鏅搁柨鐕傛嫹
婵犵妲呴崹顏堝礈濠靛棭鐔嗘俊顖氬悑鐎氱粯銇勯幘瀵哥畺閻庢熬鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓奸崶銊ヮ伕濡炪倖鎸荤换鍐偓姘虫珪娣囧﹪顢涘Δ鈧晶鍙夌節椤喗瀚�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洦鍓熼、娆撳礂閻撳簶鍋撻悽鍛婄厸闁割偅绻勫瓭婵犳鍣幏锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾闁哄苯鎳橀崺鈧い鎺嗗亾闁宠閰i獮鎴﹀箛闂堟稒顔嗛梻浣告惈鐎氭悂骞忛敓锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洩缍侀獮瀣攽閸偂绱�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勭厬闂佺懓鐡ㄧ换鍕敂鐎涙ü绻嗘い鏍殔婢у弶绻濋~顔藉
闂佽楠搁崢婊堝礈濠靛鍋嬮柟鎯版閻鈹戦悩鎻掓殭闁奸潧缍婇弻銈夋嚍閵夈儱顫嶉梺缁樼壄缂嶄礁鐣峰▎鎾存櫢闁跨噦鎷�
UB闂備礁婀辩划顖炲礉濡ゅ懐宓侀柛銉㈡櫆鐎氭岸鎮楀☉娅虫垿锝為敓锟�
闂備浇澹堟ご绋款潖婵犳碍鐒鹃悗鐢电《閸嬫捇鐛崹顔句痪濠电姭鍋撻柨鐕傛嫹
闂佽楠哥粻宥夊垂閸濆嫸鑰块柛銏㈠殰
闂備礁鎲″缁樻叏妞嬪海绀婂璺虹灱閸楁碍绻涢崱妤€顒㈤柛鐐差槹缁绘稓绱欓悩鍝勫帯闂佺ǹ楠忛幏锟�
缂傚倸鍊烽悞锕傛偡閿曞倸鍨傛繝濠傚椤╅攱銇勯幒宥囶槮缂佹彃婀遍埀顒傚仯閸婃繄绱撳棰濇晩闁跨噦鎷�
©2017 www.mb5u.com婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎殿噮鍣i幃鈺呭箵閹烘挸鐦�
闂備浇銆€閸嬫捇鏌熼婊冾暭妞ゃ儻鎷�&闂備礁鎲$敮鎺懳涢弮鍫燁棅闁跨噦鎷�