只能有一个,服务器按着一个struts-config。xml文件,操作整个网站的流程

解决方案 »

  1.   

    action.xml是什么?struts中并没有提供该文件啊?
      

  2.   

    应用模块允许将单个Struts应用划分成几个模块,每个模块有自己的Struts配置文件,JSP页面,Action,并且可以有各自的controller、message resource、plug-in设置。这个特性是为了更好的支持并行开发允许多个配置文件而不是单个配置文件。
    为了使用多应用模块功能,必须执行以下几个准备步骤:
    • 为每个应用模块创建独立的Struts配置文件。
    • 配置web 部署描述符 web.xml文件。
    &#8226; 使用org.apache.struts.actions.SwitchAction 来实现程序在模块之间的跳转. <init-param>
       <param-name>config</param-name>
       <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
       <param-name>config/bm</param-name>
       <param-value>/WEB-INF/struts-config-bm.xml</param-value>
    </init-param>
    <init-param>
       <param-name>config/ebank</param-name>
       <param-value>/WEB-INF/struts-config-ebank.xml</param-value>
    </init-param>当Struts载入应用程序时,它首先载入缺省应用模块的配置文件。然后查找带有字符串config/xxx 形式的附加的初始化参数。对每个附加的配置文件也进行解析并载入内存。这一步完成后,用户就可以很随意地用config/后面的字符串也就是名字来调用相应的应用模块。用两种方法可以从一个模块切换到另一个模块,一种是使用forward(global或local),并且
    设置contextRelative属性为true,另一种是使用内建的org.apache.struts.actions.SwitchAction。使用global-forward设置模块切换:    <global-forwards>
        <forward name="toModuleB"
           contextRelative="true"
           path="/moduleB/index.do"
           redirect="true"/>
        </global-forwards>也可使用action的forward(local)设置,如    <action ... >
         <forward name="success"
              contextRelative="true"
              path="/moduleB/index.do"
              redirect="true"/>
        </action>
       
    SwitchAction实现模块切换 
    使用内建的org.apache.struts.actions.SwitchAction,例如:    <action path="/toModule"
         type="org.apache.struts.actions.SwitchAction"/>URL应包含prifix和page两个参数:    http://localhost:8080/toModule.do?prefix=/moduleB&page=/index.do如要返回到默认模块,则:     http://localhost:8080/toModule.do?prefix=&page=/index.do
      

  3.   

    struts1.1支持multiple sub application,也就是说可以有多个struts-config.xml文件,具体怎么做,我正准备做实验呢 ^_^
    如果你又进展,也告诉我一声,ok?
      

  4.   

    xujiaqiang() 您有更详细的资料吗?
    看着你的文挡确实无从下手,呵呵
      

  5.   

    我在帖子里以说的很详细了,还有什么不明白?
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <init-param>
    <param-name>mapping</param-name>
    <param-value>org.apache.struts.action.ActionMapping</param-value>
    </init-param>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/bm</param-name>
    <param-value>/WEB-INF/struts-config-bm.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/salexp</param-name>
    <param-value>/WEB-INF/struts-config-salexp.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/monitor</param-name>
    <param-value>/WEB-INF/struts-config-monitor.xml</param-value>
    </init-param> 
    <servlet>
      

  6.   

    &#8226; 为每个应用模块创建独立的Struts配置文件。
    &#8226; 配置web 部署描述符 web.xml文件。
    &#8226; 使用org.apache.struts.actions.SwitchAction 来实现程序在模块之间的跳转. &#8226; 这是什么意思?另
    <init-param>
    <param-name>config/salexp</param-name>
    <param-value>/WEB-INF/struts-config-salexp.xml</param-value>
    </init-param>
    就拿这做个比较,struts-config-salexp.xml这个配置文件说白了也是和struts-config.xml一样的功能,只不过名字改变,文件放置的文件夹都一样?这些还只是我想到的问题,等项目实施当中肯定还有很多问题,,以后还得请教 xujiaqiang了,,先谢了
      

  7.   

    不错,只有Struts1.1才支持multi config.xml。
     xujiaqiang() 说得明白,我顶哦