Struts2的零配置功能减少了非常多的xml配置。所以公司最近的一个项目也用到了。这里讲一下关于namespace的配置。现在我要达到的目的就是添加一个/adm的namespace用于后台管理相关的action。
首先我们要在struts2的filter里面添加action的package信息
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.xxx.yyy.action</param-value>
</init-param>
</filter>
这样struts2就会去com.xxx.yyy.action包下面找所有实现了Action的类。也会去找子package下的类。下面引用一下《》的内容:
被配置过的每一个package和它的子package都会被扫描到,看其中哪些类实现了Action或者类名以“Action”结尾,然后注解就会被加入到运行时配置中去。如果没有使用namespace注解的话,那么命名空间就会由package名来生成。把“actionPackages”配置值中使用的package名称截掉,就得到了命名空间。也就是说,如果某个被配置好的action的名字是“actions.admin.user.AddAction”,而“actionPackages”的值为“actions”,那么这个action的命名空间就是“/admin/user”。
所以namespace可以通过packagename来实现。
不过我还要这个namespace下的action使用不同的interceptor stack.所以我不得不在xml配置文件里面添加一个<package>通过这个<package>节点来配置namespace和interceptor stack.
<package name="Administration" extends="struts-default" namespace="/adm">
<interceptors>
<interceptor name="loginInterceptor" class="com.xxx.yyy.interceptor.LoginInterceptor"/>
<interceptor name="SpringBeanInjectionInterceptor" class="com.xxx.core.struts.SpringBeanInjectionInterceptor"/>
<interceptor-stack name="Administration">
<interceptor-ref name="SpringBeanInjectionInterceptor"/>
<interceptor-ref name="params"/>
<interceptor-ref name="loginInterceptor"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="Administration"/>
</package>
那这样在Action类里怎么配置呢。那就用到了@ParentPackage这个annotation.这个就可以指定Action的Package。
@ParentPackage(value = "Administration")
其中的value就是xml配置文件中的package的name。值得注意的是在你的Action的Package中的任何一个类指定@ParentPackage信息就可以了。不需要每个Action都指定。也就是说这个@ParentPackage其实是针对Package的。
分享到:
相关推荐
Namespace在Struts2中的作用至关重要,它是Action配置的一个关键部分,用于组织和隔离Action,使得一个大型项目中的多个Action能够有序地管理。 Namespace主要功能: 1. **URL映射**:Namespace可以看作是Action的...
Struts2零配置是Struts2框架的一种简化配置方式,旨在减少XML配置文件的使用,提高开发效率。在传统的Struts2应用中,开发者需要在多个XML文件中配置Action、结果页面、拦截器等,而“零配置”则是对这种繁琐配置的...
在这个“struts2的配置信息”主题中,我们将深入探讨Struts2的核心配置及其lib资源。 首先,让我们关注`lib`目录。这个目录包含了Struts2运行所需的库文件,这些文件是JAR(Java Archive)格式,它们提供了框架的...
在开始使用Struts2之前,我们需要先进行环境配置。以下将详细介绍Struts2的初始使用环境配置步骤。 首先,确保你已经安装了Java Development Kit (JDK)。JDK是开发Java应用的基础,你需要至少JDK 1.6或以上版本来...
例如,如果namespace配置为`/test`,那么访问名为`login.action`的Action的URL将是`http://localhost:8080/struts2/test/login.action`。 配置示例: ```xml <struts> <package name="default" extends="struts-...
### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...
<package name="struts2" extends="struts-default" namespace=""> *" class="action.LoginAction" method="{1}"> <result name="isLogin">/login.jsp </struts> ``` 在这个配置中,我们定义了一个名为`...
**FreeMarker与Struts2的整合配置详解** FreeMarker是一个基于Java的模板引擎,它用于生成动态HTML、XML或其他格式的文本输出。Struts2是一个流行的MVC(模型-视图-控制器)框架,用于构建Java Web应用程序。将...
"Struts2 零配置"是Struts2的一种特性,允许开发者在不编写大量XML配置文件的情况下,快速搭建和运行应用程序。这主要得益于Struts2的插件机制和注解支持。 首先,Struts2的零配置主要依赖于以下两个核心概念: 1....
在传统的Struts 2应用中,我们通常会通过XML配置文件(struts.xml)来定义Action,包括Action类、结果页面、拦截器等信息。然而,随着Java注解的广泛应用,Struts 2也引入了注解配置的方式来简化开发过程,避免了XML...
配置文件在Struts2中起着至关重要的作用,因为它定义了框架的行为和组件之间的交互方式。本文将深入探讨Struts2配置文件的DTD(文档类型定义),以及如何使用这些配置元素。 首先,Struts2的配置文件基于DTD来解析...
### Struts2基本配置知识点详解 #### 一、Struts2概述 - **定义与作用**:Struts2是Apache组织开发的一个开源Web应用框架,主要用于简化Java Web应用程序的开发。Struts2作为MVC(Model-View-Controller)模式的一...
【Spring+Hibernate+Struts2整合配置详解】 在Java Web开发中,Spring、Hibernate和Struts2(简称SSH)是一个常见的MVC框架组合,用于构建高效、可维护的Web应用程序。这三个框架各自专注于不同的领域:Spring负责...
这个"struts2之配置实用案例struts001"很可能是针对初学者或者开发者提供的一份实践教程,旨在帮助他们理解和掌握Struts2的基本配置和用法。 在Struts2框架中,配置是至关重要的部分,它决定了应用程序的行为和流程...
此外,Struts2还提供了其他注解,如`@Results`、`@Namespace`、`@ParentPackage`等,它们分别用于定义一组结果、Action所属的命名空间以及继承的配置包。这些注解可以帮助我们在不编写XML配置的情况下,完成大部分的...
在Eclipse这个流行的Java集成开发环境中配置Struts2,可以帮助开发者更高效地构建动态Web项目。以下将详细介绍如何在Eclipse中成功配置Struts2。 1. **环境准备**: - 首先确保你的系统上已经安装了Java JDK和...
Struts2作为一款流行的Java Web框架,其配置文件的优化对于提高开发效率和代码可维护性至关重要。在Struts2中,使用通配符优化配置是实现这一目标的有效手段。通配符允许开发者以一种更加灵活的方式定义Action,避免...
根据提供的信息,本文将深入探讨Struts 2框架的核心配置机制。这包括Web容器的配置、Struts 2 XML配置文件的理解以及返回类型的基本概念。 ### Struts 2框架配置详解 #### 1. Web 容器配置 Struts 2作为一个基于...
手动配置Struts2涉及多个步骤,下面我们将深入探讨这个过程。 首先,我们需要在项目的类路径下添加Struts2的核心库。这通常包括`struts2-core`、`struts2-convention-plugin`、`struts2-json-plugin`等依赖,它们...
### Struts2配置文件及其代码示例解析 #### 一、Struts2概述 Struts2是一个基于MVC模式的开源Web应用框架,它继承了Struts1的优点,并且进行了大量的改进,支持拦截器、结果类型、动态方法调用等功能。在Struts2中...