`
Luob.
  • 浏览: 1592235 次
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2 包,命名空间,包含 配置(十二)

阅读更多
1.包配置
在Struts2框架中,其核心组件是Action和拦截器等,该框架使用包管理这些组件,在包可以配置多个action,多个拦截器,多个拦截器栈,返回类型。使用<package>元素配置包。可以指定4个属性

属性名必选说明
name指定包的名称,该名称是该包被其他包引用的key值
extends知道该包继承其他包
namespace指定哪个该包的命名空间
abstract指定该包是否是一个抽象包。抽象包中不定义action。


2.命名空间配置
在Struts2中命名空间用namespace的方式来管理Action
因为在Action类中有多个业务处理方法,而客户端请求需要指向不通的方法,此时就需要用命名空间了。
例如:
<package name="myPackage" extends="struts-default" namespace="/tmq">
   <action name="login" class="my.test.Login.Action">
      <result name="success">welcome.jsp</result>
    </action>
</package>
上述的配置后,name为login的action就可以处理下面的URL请求了
http://localhost:8080/struts2/tmq/login.action
http://localhot:8080/struts2/login.action


3.命名空间案例:
<struts>
    <!--配置myPackage包,默认命名空间为空-->
     <package name="myPackage" extends="struts-default">
           <action name="login" class="my.test.LoginAction">
                <result name="success">welcome.jsp</result>
                <result name="Login">login.jsp</result>
           </action>
       </package>

     <package name="myPackage2" extends="struts-default" namespace="/tmq">
           <action name="login" class="my.test.LoginAction2">
                <result name="success">welcome.jsp</result>
                <result name="Login">login.jsp</result>
           </action>
       </package>
       <!---http://localhost:8080/struts/login.action;会先查询非默认命名空间中的login Action如果没有找到 然后才到默认的命名空间-->
</struts>


4.命名空间的注意:
  通过为包指定不通的命名空间,就可以在不同的包中配置name值相同的Action 而框架根据请求的URL,依然可以饿知道使用那个额Action来处理,如果为一个包指定了默认的命名空间,那么该包下的所有Action,额可以处理任何URL中对应的Action请求。
同一个命名空间中的不能包含同名的Actino,不同的命名空间中,可以包含相同的Action。


5.包含配置
<!--_在一个Jsp文件中可以使用<jsp:include>指令,将其他文件包含到该文件中,同样的道理,在struts.xml文件中可以使用包含元素<include>包含其他配置文件-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0/EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
   <include file="struts-actionchaining.xml"/>
   <include file="struts-fileupload.xml"/>
   <include file="struts-jsf.xml"/>
   <include file="struts-filedownload.xml"/>
   <include file="struts-conversion.xml"/>
   <include file="struts-freemarker.xml"/>
   <includer file="struts-tiles.xml"/>
</struts>

分享到:
评论

相关推荐

    struts2 Action 包 命名空间 servlet API

    总的来说,Struts2 Action包的命名空间和Servlet API的结合使用,使得开发者能够灵活控制请求的处理流程,通过拦截器实现通用功能,同时利用视图组件创建丰富的用户界面。通过对框架核心类的了解,可以更深入地掌握...

    struts2命名规范

    2. **空间名(Namespace)**:在Struts2中,命名空间用于区分不同的URL路径,每个Action都可以关联一个或多个命名空间。空间名通常与包名保持一致,但并不强制。例如,如果Action类位于`com.example.myapp.actions`...

    Struts2之命名空间详解及JSP文件上传了解案例struts009

    在Struts2的配置文件(通常为struts.xml或struts-plugin.xml)中,你可以定义多个命名空间,每个命名空间下可以包含多个Action。例如: ```xml &lt;struts&gt; &lt;!-- 这里的Action配置属于/admin命名空间 --&gt; &lt;!--...

    Struts2.0深入学习 命名空间,模型驱动,表单重复提交

    本篇文章将深入探讨Struts2中的三个关键概念:命名空间、模型驱动以及表单重复提交的处理,这些都是在实际开发中必不可少的知识点。 **命名空间(Namespace)** 命名空间在Struts2中扮演着路由和隔离的作用。它可以...

    Struts2的配置文件的详细说明

    关于命名空间配置,当需要在同一个Web应用中定义同名Action时,Struts2通过命名空间进行区分。通过为`package`元素设置`namespace`属性,可以为包下的所有Action指定共同的命名空间。例如,将上面的配置改为: ```...

    Struts2约定优于配置

    这个配置将所有包含 action,actions,struts,struts2 的包都视为含有 Action 类的路径来搜索。 例如,我们可以将包路径配置到 web 和 action 下: &lt;constant name="struts.convention.package.locators" value="web...

    简述STRUTS2_Convention零配置

    - `struts.convention.package.locators`:定义Action的根包,影响Action的命名空间映射。 - `struts.convention.action.packages`:除了默认的四个包(action, actions, struts, struts2),这个常量可以指定额外...

    ·Struts2配置文件介绍 超级详细

    - **struts-default.xml**:这是Struts2框架提供的默认配置文件,包含了一些基本的拦截器和结果类型的定义。当开发者未在自己的`struts.xml`中指定某些配置时,默认会采用这些预定义的配置。 #### 二、struts.xml...

    struts 2命名规范

    根据描述中的内容,我们可以进一步了解 Struts 2 中 Action 接口的应用及命名空间配置的相关知识点。 1. **Action 接口介绍** - **接口定义**:`com.opensymphony.xwork2.Action` 接口中定义了一系列的标准字符串...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    此外,Struts2还提供了其他注解,如`@Results`、`@Namespace`、`@ParentPackage`等,它们分别用于定义一组结果、Action所属的命名空间以及继承的配置包。这些注解可以帮助我们在不编写XML配置的情况下,完成大部分的...

    Struts 2使用注解配置Action

    在传统的Struts 2应用中,我们通常会通过XML配置文件(struts.xml)来定义Action,包括Action类、结果页面、拦截器等信息。然而,随着Java注解的广泛应用,Struts 2也引入了注解配置的方式来简化开发过程,避免了XML...

    STRUTS2:零配置插件CodeBehind

    通过该插件,Struts2能够自动扫描并识别Web应用程序中的Action类,从而推测出它们的命名空间(namespace)。此外,Zero Config还能够根据Action类的位置推断出结果视图(result view)的路径。 ##### 2.1 配置方法 在`...

    struts2注解必须包

    "struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...

    Struts2教学视频

    标签在struts.xml中定义一个配置包,可以包含多个Action,每个Action都有自己的命名空间和配置。包还可以继承其他包,重用配置。 **五、Action** Action是Struts2中的核心组件,负责处理用户的请求,执行业务逻辑,...

    Struts2+spring注解配置

    - `@ParentPackage` 用于指定当前 Action 继承的 Struts2 包,通常用来继承配置好的拦截器栈。例如,`@ParentPackage("struts-default")` 将使用默认的 Struts2 拦截器配置。 3. **Namespace 注解** - `@...

    struts2配置文件介绍

    5. **Action configuration**: Action配置包括定义action的名字、类、结果(Result)和关联的命名空间。结果可以指向JSP页面、其他Action、或者任何可配置的结果类型。 6. **Interceptors and Interceptor Stacks**...

    Struts2的配置文件DTD解析

    在实际应用中,Struts2的配置文件可以通过继承和命名空间提供强大的灵活性。通过`extends`属性,你可以创建基础配置并让其他package继承,以减少代码重复。`namespace`属性允许你在同一应用中定义同名action,只要...

    struts2 跳转至404 页面的解决方案

    总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到结果类型、资源路径,甚至包括服务器和IDE的设置。理解Struts2的工作原理,结合日志信息,通常可以找出导致...

    struts2零配置个人整理文档

    - **默认行为**:默认情况下,Convention插件会自动扫描包含`action`, `actions`, `struts`, `struts2`等关键字的包,从中查找Action类。 - **自定义搜索包**:可以通过`struts.convention.package.locators`属性来...

Global site tag (gtag.js) - Google Analytics