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 >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值