科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道详细讲解Struts框架中的多模块配置步骤

详细讲解Struts框架中的多模块配置步骤

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

详细讲解Struts框架中的多模块配置步骤

作者:dxaw 来源:赛迪网 2007年11月22日

关键字: 配置步骤 多模块 Struts

  • 评论
  • 分享微博
  • 分享邮件

1、在web系统根目录下建立与模块名相同的文件夹

2、在WEB-INFO中建立同样的与模块名一一对应的文件夹,存放配置文件

3、web.xml中配置

<servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

        <!-- Default -->
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>

        <!-- Exercise module -->
        <init-param>
            <param-name>config/exercise</param-name>
            <param-value>/WEB-INF/exercise/struts-config.xml</param-value>
        </init-param>

        <!-- File Upload module -->
        <init-param>
            <param-name>config/upload</param-name>
            <param-value>/WEB-INF/upload/struts-config.xml</param-value>
        </init-param>

        <!-- Validator module -->
        <init-param>
            <param-name>config/validator</param-name>
            <param-value>/WEB-INF/validator/struts-config.xml,
                /WEB-INF/validator/struts-config-bundles.xml,
                /WEB-INF/validator/struts-config-i18nVariables.xml,
                /WEB-INF/validator/struts-config-type.xml,
                /WEB-INF/validator/struts-config-validwhen.xml
            </param-value>
        </init-param>

        <!-- Dispatch Action module -->
        <init-param>
            <param-name>config/dispatch</param-name>
            <param-value>/WEB-INF/dispatch/struts-config.xml</param-value>
        </init-param>

        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

该系统中一共配置了四个模块

4、在WEB-INFO下与模块对应的文件夹中添加该模块的struts配置文件,名称没有限制,可以在web.xml中进行指定。

5、在web系统根目录下的与模块对应的文件夹中放置对应的jsp文件。

6、注意:4、中action路径都是相对于本模块的WEB-INFO/dispatch/struts-config.xml

<action path="/dispatch-submit" 
        type="org.apache.struts.webapp.dispatch.DispatchExampleAction"
        parameter="dispatchMethod"
        name="testForm"
        scope="request">
 <exception key="dispatch.NoSuchMethodException"
        type="java.lang.NoSuchMethodException"
        path="/dispatch.jsp"/>
 <exception key="dispatch.ServletException"
        type="javax.servlet.ServletException"
        path="/dispatch.jsp"/>
 <forward name="success" path="/dispatch.jsp"/>
        </action>

在jsp中对应的action的写法

<html:form action="dispatch-submit" style="display:inline">
        <input type="hidden" name="dispatchMethod" value="doFoo" />
        <html:submit><bean:message key="button.foo.label" /></html:submit>
       </html:form>

实际上客户端的实际html代码是:

<form name="testForm" method="post" action="/strtus-eg/dispatch/dispatch-submit.do"
style="display:inline">
       <input type="hidden" name="dispatchMethod" value="doFoo" />
       <input type="submit" value="Foo Button">
   </form>

注:a、/strtus-eg/dispatch/dispatch-submit.do中 /struts-eg是prj名称,dispatch即对应的模块名

b、xml配置文件中:parameter="dispatchMethod" ,jsp中< input type="hidden" name="dispatchMethod" value="doFoo" />,这种写法表示在对应的action中调用doFoo这个方法进行请求处理,而不是默认的execute。如果客户端没有给action中parameter="dispatchMethod" 中的参数dispatchMethod赋值那么就会以这个参数名"dispatchMethod"去找对应的方法。

c、模块之间的跳转

<html:link module="/exercise" page="/welcome.do">
<html:link module="/exercise" action="/welcome">

module指明是哪一个模块,page与action意思相同,action会自动给你加上.do.如果要跳到默认模块[即WEB-INFO文件夹下面]设置module="/" 即可

d、配置文件中设置从该模块跳到别的模块forward中 path="/../validator/index.jsp" 表示从该模块跳到validator模块中的index.jsp页面,其中path必须以"/"开始,“/”表示的是该模块的根目录。

<action path="/dispatch-noparam" 
     type="org.apache.struts.webapp.dispatch.DispatchExampleAction"
     name="testForm"
     scope="request">
    <forward name="success" path="/../validator/index.jsp"/>
  </action>
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    闂傚倸鍊风欢锟犲矗鎼淬劌绐楅柡鍥╁亹閺嬪酣鏌曡箛瀣仾濠殿垰銈搁弻鏇$疀鐎n亖鍋撻弽顓ㄧ稏闁跨噦鎷�

    婵犵數濮烽。浠嬪焵椤掆偓閸熷潡鍩€椤掆偓缂嶅﹪骞冨Ο璇茬窞闁归偊鍓涢悾娲⒑闂堟单鍫ュ疾濠婂嫭鍙忔繝濠傜墛閸嬨劍銇勯弽銊с€掗柟钘夊暣閺岀喖鎮滈埡鍌涚彋閻庤娲樺畝绋跨暦閸洖鐓涢柛灞剧矋濞堟悂姊绘担绛嬪殐闁搞劋鍗冲畷銏ゅ冀椤愩儱小闂佹寧绋戠€氼參宕伴崱妯镐簻闁靛牆鎳庢慨顒€鈹戦埥鍡椾簼婵犮垺锚铻炴俊銈呮噺閸嬪倹绻涢崱妯诲碍閻庢艾顦甸弻宥堫檨闁告挾鍠庨锝夘敆娓氬﹦鐭楁繛鎾村焹閸嬫捇鏌e☉娆愬磳闁哄本绋戦埞鎴﹀川椤曞懏鈻婄紓鍌欑劍椤ㄥ懘鎯岄崒鐐靛祦閹兼番鍔岄悞鍨亜閹烘垵顏╅悗姘槹閵囧嫰寮介妸褎鍣ョ紓浣筋嚙濡繈寮婚悢纰辨晣鐟滃秹鎮橀懠顒傜<閺夊牄鍔庣粻鐐烘煛鐏炶姤鍠橀柡浣瑰姍瀹曠喖顢橀悩铏钒闂備浇宕垫慨鎶芥⒔瀹ュ鍨傞柦妯猴級閿濆绀嬫い鏍ㄧ☉濞堟粓姊虹涵鍛【妞ゎ偅娲熼崺鈧い鎺嗗亾闁挎洩濡囧Σ鎰板籍閸繄顓洪梺缁樺姇瀵剙螖閸涱喚鍘搁梺鍓插亽閸嬪嫰鎮橀敃鍌涚厱閻庯綆鍋嗘晶顒傜磼閸屾稑绗ч柟鐟板閹煎湱鎲撮崟闈涙櫏闂傚倷绀侀幖顐も偓姘卞厴瀹曞綊鏌嗗鍛紱閻庡箍鍎遍ˇ浼村磿瀹ュ鐓曢柡鍥ュ妼婢ь垰霉閻樿秮顏堟箒闂佹寧绻傚Λ妤呭煝閺囥垺鐓冪憸婊堝礈濮樿泛钃熼柕濞у嫷鍋ㄩ梺缁樺姇椤曨參鍩㈤弴銏″€甸柨婵嗗€瑰▍鍥ㄣ亜韫囨稐鎲鹃柡灞炬礋瀹曢亶顢橀悢濂変紦

    重磅专题
    往期文章
    最新文章