配置详解

视图调整器

1. web.xml
此文件的陈设可以参见struts2的身体力行文书档案

常用结果类型

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

    difpatcher:私下认可结果类型,后台使用RequestDispatcher转载央求

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

    redirect:后台使用的secdRedirect(卡塔尔将央求重定向至钦点的UENCOREL

永利澳门游戏网址304,<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

    redirectAction:主要用来重定向到Action

2. Action: 业务微处理机,调用相应的Model类完成职业管理,重返结果。
实际上付出中,Action类经常持续自 struts2提供的
com.opensymphony.xwork2.ActionSupport 类,以便简化开荒。
开辟完后亟需配置 struts2.xml文件

    <result type=”redirect”></result>

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<!DOCTYPE struts PUBLIC
“-//Apache Software Foundation//DTD Struts Configuration 2.3//EN”
“;

透过值决断跳到哪些页面

<struts>
<package name=”default” namespace=”/” extends=”struts-default”>
<action name=”hello”
class=”com.opensymphony.xwork2.ActionSupport”>
<!– 结果为 success 时, 跳转到 hello.jsp页面 (dispatcher 转发)
–>
<result name=”success”>hello.jsp</result>
<!– 结果为 tutorial 时, 重定向到 /tutorial/test.action (forward
重定向State of Qatar –>
<result name=”tutorial”
type=”redirect”>/tutorial/test.action</result>
<!– 结果为 tutorial2 时, 重定向到test.action –>
<result name=”tutorial2″
type=”redirectAction”>/tutorial/test.action</result>
</action>
</package>
</struts>

<result type=”redirectAction”>${nextDispose}</result>
//报错地方${nextDispose},能够无视。

3. Result
得以完结视图的调用,并调节视图以那个格局表现给顾客端。

大局结果

Struts的试行进度
3.1 当Web容器选拔到央浼后,将强迫交给 web.xml 中安顿的 struts2
框架的调整器StrutsPrepareAndExecuteFilter (宗旨调控器)
3.2 由 StrutsPrepareAndExecuteFilter 分明哀告对应的 Action
(业务调整器卡塔尔(قطر‎
3.3 框架依据 Action 再次来到的结果字符串,由 StrutsPrepareAndExecuteFilter
(主旨调节器State of Qatar选取相应的result, 将结果表现给客户。

    >>达成同三个包中八个action分享三个结实

4. Struts 2 的配置器

<struts>

  • 4.1 struts.xml

    <package name=”dufault” extends=”struts-dufault”>

1) constant成分用于配置常量比方:
拍卖乱码: <constant name=”struts.i18n.encoding” value=”UTF-8″
/>
安装客商分界面大旨: <constant name=”struts.ui.theme” value=”simple”
/>
明确命令禁绝调用动态方法: <constant
name=”struts.enable.DynamicMethodInvocation” value=”false” />

        <global-results>

2) include元素
援引其余struts.xml 文件 <include file=”mailreader-default.xml”/>
倘诺计划的Action内容相当多,那么能够将那有的内容单独提抽出来
mailreader-default.xml 文件应当是叁个完全的Struts.xml文件

            <result name=”error”>/page/error.jsp</result>

3)package元素
name 属性为必得得况兼是独步天下的,用来钦定包的称号
extends 属性相似Java的extends,钦赐用来增添的包
namespace 属性可选。namespace=”/”代表根目录, namespace=””暗中认可命名空间
平常性会选拔模块名称命名

            <result name=”login”
type=”redirect”>/page/login.jsp</result>

恳请路线先查询命名空间下的,若无在查究私下认可空间下的。
比方诉求UOdysseyL为 /myspace/somespace/some.action。 它先物色的命名空间是
 /myspace/somespace/ 下

        </global-results>

  • 4.2 struts-default.xml :
    Struts2框架的暗中同意配置文件。
  • 4.3 struts-plugin.xml :
    是struts2插件使用的配置文件。

        …省略action的配置…

5. Action配置

    </package>

  • 5.1 Action
    功用:为给定的央求封装必要做的其实专门的职业(调用特定的专业管理类)

</struts>

为数量转移提供地方
协助框架以为由非常结果表现哀告响应
Action选择参数:
1) 属性名
2) JavaBean
3) ModelDriven
i: 定义实体类,为实体加多属性以至setter和getter
i: 创设Action完毕ModelDriven接口,重写方法getModel(State of Qatar
i:
Action中要提供JavaBean类型的性质,要求实例化,但无需相应的setter和getter方法
i: Form 表单项的name属性甚至页面取值时经过 <s:property value=”属性名”
/>的情势

在乎global-results在package中的顺序地点,default的末尾,Action的近期

  • 5.2 method 属性:

<action name=”student” class=”org.zm.test.studentAction”
method=”Show”>
<result name=”success”>no.jsp</result>
</action>

当调用student.action时, 执行 rg.zm.test.studentAction 类 的
Show()方法。

method属性消亡多少个页面调用同贰个action类的难点,减少action的多少。举个例子客商登入,顾客注册都调用同贰个action,
userAction 。 分别调用那几个类中的 Login方法和 Register 方法。

提示:
Struts2根据action成分的method属性查找施行措施时有二种门路。1.搜求与method属性值完全少年老成致的点子。
2.查找domethod(State of Qatar情势的主意。【login(卡塔尔 / doLogin(卡塔尔国】

  • 5.3 Action中动态方法调用 : 目的裁减Action的多少。

动态方法调用(Dynamic Method Invocation, MDIState of Qatar 是指表单成分的 Action
并非一贯等于有些Action的称呼,而是通过在Action的称谓中央银行使惊讶号(!State of Qatar来标志要调用的艺术名称,格式为
actionName!methodName.action。

发表评论

电子邮件地址不会被公开。 必填项已用*标注