· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [专题] IBM Rational高峰论坛 Windows 7十大功能
· [专题] 史上就危险7月 微软 BizSpark 计划介绍
· [IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 我也能做CTO_赛迪连载 赛迪七夕特别行动
· [热点] Chrome 4.0采用V8引擎 Java开发编程规范

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

发布时间:2007.07.26 06:33     来源:赛迪网    作者:dxaw

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>

(责任编辑:龚勋)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 新手入门:JAVA实现数据库基本操作指南 (07-23) · 新手入门:EJB初学者常有的十一个疑惑 (07-20)
· 对Java编程中常用修饰词使用方法的介绍 (07-20) · Struts:与Tiles框架的第一次亲密接触 (07-20)
· Java学习过程中应该理解的一些重点内容 (07-19) · AJAX并不神秘:揭密各种AJAX控件和类库 (07-19)
· J2EE基础:MVC模式和Struts模式的理解 (07-18) · Java中几种常用数据类型之间转换的方法 (07-18)
· Java中的方法和变量在继承时的覆盖问题 (07-18) · 用Struts框架开发国际化程序的设计思路 (07-17)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
专题:谷歌发布PC操作系统Chrome OS
·芯能量 新动力 兴经济:..
·专题:英特尔与AMD和解 ..
·专题:惠普27亿收购3Com..
专题:
·专题:诺基亚危局已现 ..
·六股势力角逐4G标准 中..
·专题:联通iPhone并不贵..
 
·惠普123459黑白激打家族..
·云计算格局初现 三大阵..
·分析:虚拟化在高性能计..
2009 IBM动态架构新动力论坛
·直播:第八届中国系统与..
·专题:置身智慧海洋——..
·专题:让物品开口说话 ..