zoukankan      html  css  js  c++  java
  • [Java Web]Struts2加起来(一个)

    Struts2环境配置
    1. 进口Struts2的需要jar包
    2. 在WEB-INF/classes(src)文件夹下创建struts.xml文件
    3. 在web.xml文件里加入Struts过滤器信息
    经常使用配置文件
    1. struts.xml:用于存放Action映射关系、设置Struts配置信息
    2. web.xml:用于配置容器的Struts过滤器,一般配置例如以下:
      <filter>
            <filter-name>struts2</filter-name>
            <filter-class>
                org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
            </filter-class>
        </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    3. struts-default.xml:Struts2的默认配置信息,一般不建议改动
    4. default.properties:Struts2的默认设置信息。相同不建议改动
    Action

    Struts2的核心功能,一般由两部分组成:struts.xml的Action映射和使用Java编写的Action实体类。在struts.xml中通常使用<action>、<result>、<package>等一系列标签完毕Action的映射,它们的属性分别有:
    1. package

      属性

      是否必须

      描写叙述

      name

      包名。作为其他包应用本包的标记

      extends

      设置本包继承其他包

      namespace

      设置包的命名空间

      abstact

      设置为抽象包


    2. action

      属性

      是否必须

      描写叙述

      name

      请求的Action名称

      class

      Action处理类相应详细路径

      method

      指定Action中的方法名

      converter

      指定Action使用的类型转换器


    3. result

      属性

      是否必须

      描写叙述

      name

      Action返回视图名称。默觉得success

      type

      返回结果类型,默觉得dispatcher

    一个简单地Action映射能够写成:
    <package name="admin" extends="struts-default">
    	<action name="welcome" class="struts.action.WelcomeAction">
    		<result>/welcome.jsp</result>
    	</action>
    </package>

    Action实体类须要继承ActionSupport类而且重写他的execute的方法(或者其它的方法,无參返回String类型而且与action标签中method属性相应就可以)。而且返回与result标签name属性相应的字符串。与上面配置相应的实体类为:
    public class WelcomeAction extends ActionSupport {
    	public String execute() {
    		return SUCCESS;
    	}
    }

    动态方法调用(DMI)

    一个Action中仅能配置一个method在实际应用中十分不方便,Struts2支持在url中指定调用Action类的不同方法。格式为"Action名!方法名"。

    在使用此功能前须要在struts.xml中加入例如以下代码开启DMI:

    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
    之后在Action类中加入返回值为String类型的相应方法就可以轻松调用。


    通配符(wildcard)

    Struts2支持通配符操作。使得在须要配置大量action时通过约定格式降低工作量。它的使用方法是使用"*"取代easy变换的单词,然后用{n}取出。n代表第n个通配符。比如一个程序须要有4个Action。名称分别为DogAction、CatAction、BirdAction和FishAction。

    假设依照之前的方法则须要配置4个action映射关系。可是使用通配符后仅仅须要以下一个action就可以:

    <action name="buy*" class="struts.action.{1}Action">
    		<result>/pay.jsp</result>
    </action>
    通配符的作用域很广,通过action的name能够改变method、class和result的结果等。常常使用能够节约很多时间。可是须要事先良好的一致性格公式。


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    JavaScript的执行
    关于k阶裴波那契序列的两种解法
    科普 eclipse中的Java build
    [BZOJ 1037] 生日聚会Party
    [POJ 1185] 炮兵阵地
    [POJ 1935] Journey
    [POJ 2397] Spiderman
    [POJ 2373][BZOJ 1986] Dividing the Path
    [POJ 3378] Crazy Thairs
    [POJ 2329] Nearest number-2
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4676501.html
Copyright © 2011-2022 走看看