码迷,mamicode.com
首页 > 编程语言 > 详细

[Java Web]Struts2加起来(一个)

时间:2015-07-25 21:28:40      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

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的结果等。常常使用能够节约很多时间。可是须要事先良好的一致性格公式。


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

[Java Web]Struts2加起来(一个)

标签:

原文地址:http://www.cnblogs.com/yxwkf/p/4676501.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!