`
韶音韶乐
  • 浏览: 86173 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

关于Struts2的namespace的一些总结2

阅读更多

   对于初学者来说struts2的namespace的配置是个疑惑点,配置不好就容易出现找不到action或者相关的页面,今天做个几个简单测试来说明一下namespace的相关知识点:

 

最初始配置:

 

 

<package name="struts2"   extends="struts-default">
		<action name="FirstActoin"  method="execute">
			<result name="success">index.jsp</result>
		</action>	
</package>

 

 这个采用的是struts2的默认命名空间,相当于namespace="";访问action是在浏览器中输入http://localhost:8080:/项目名/FirstAction,就可以访问到index.jsp页面,注意了  这里index.jsp前面没有加上“/”,说明采用的相对路径,这个相对路径是相对于当前浏览器输入的url的,例如浏览器输入的url是http://localhost:8080:/项目名/hello/FirstAction

那个Struts2就会在http://localhost:8080:/项目名/hello/index.jsp这个地址找index.jsp。所以建议显示页面采用绝对路径,这个绝对路径是当前项目的url,再来看一个配置:

 

 

<package name="struts2-01" namespace="/"  extends="struts-default">
		<action name="FirstActoin"  method="execute">
			<result name="success">/index.jsp</result>
		</action>	
</package>

这个的命名空间是“/” 其实这个命名空间我一直很疑惑,当你在浏览器中输入http://localhost:8080:/项目名/FirstAction这个url是其实采用就是这个命名空间“/” 那为什么在上一个配置中会正确访问呢,这是由于当strut2找不到“/”这个命名空间时会去默认命名空间中找相关的acton,如果找到响应,如果没有找到的话会出现这个错误信息说是找个不action。

验证我的说法可以采取以下配置

<package name="struts2-01" extends="struts-default">

		<action name="FirstActoin"  method="execute">
			<result name="success">/index.jsp</result>
		</action>	
	</package>

  

但在浏览器中输入http://localhost:8080/项目名/second.action ,会出现下面的提示There is no Action mapped for namespace / and action name second ,可见采用的就是"/"这个命名空间。这个是由于浏览器会在项目名后自动补上“/”,所以会有以上的结果。

 

再讲一个很重要的知识点,如果采取以下配置

 

 

	<package name="struts2-01"  extends="struts-default">
		<action name="FirstActoin"  method="execute">
			<result name="success">/index.jsp</result>
		</action>	
	</package>

 浏览器中输入http://localhost:8080/项目名/hello/struts2/FirstAction.action这个url,也会正确相应,这是由于当struts2在当前url的命名空间中找不到FirstAction.action时,会自动在http://localhost:8080/项目名/hello这个url下找,如果找不到话,会在默认命名空间中查找,如果找到的话相应,如果没有报错,相信如果上一个配置明白的话也能知道会报什么错了吧。

以上都是本人一些学习中的一些总结,如果有错误认识的话,欢迎改正,互相学习。

 

 

 

 

 

 

分享到:
评论

相关推荐

    Struts2课堂学习总结

    以下是关于Struts2的一些核心知识点的详细说明: 1. **环境搭建**:要搭建Struts2的开发环境,首先需要配置Tomcat服务器和JDK。接着,将必要的Struts2库文件(jar包)添加到项目的类路径中,通常这包括Struts2的...

    Struts2初步使用总结

    ### Struts2初步使用总结 #### 一、Struts2原理概述 **1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2的学习总结

    Struts2是Struts的升级版本,旨在解决Struts1的一些局限性,比如过多的代码编写和单元测试的困难。 首先,Struts2的核心特性在于其强大的Action类和配置文件。Action类是处理用户请求的核心,通过注解或XML配置文件...

    struts2学习总结

    ### Struts2 学习总结 #### 一、Struts2 概览 Struts2 是 Apache 软件基金会负责维护的一个开源项目,它是一个用于简化 Web 应用程序开发的 MVC(Model-View-Controller)框架。相比于 Struts1,Struts2 在架构上...

    Struts2 英文教程

    ### Struts2框架详解:构建高效MVC架构的利器 #### 概述 Struts2是Struts框架的下一代版本,作为模型-视图-控制器(Model-View-Controller,MVC)架构的一种实现,其目标是通过减少XML配置、采用智能约定以及提供...

    struts2学习心得

    本文总结了Struts2的常用方法和经验,涵盖了配置问题、EL表达式、Struts2的架构和Namespace等方面的知识点。 一、配置问题 Struts2的最新版本为GA 2.2.1,需要以下几个类库: 1.commons-fileupload-1.2.1.jar 2....

    Struts2技术总结

    ### Struts2技术总结 #### 一、Struts2概述及特点 Struts2作为一款流行的Java Web开发框架,继承了Struts1的优点并进行了大量的改进与创新,使其成为了一个非常值得学习的目标。Struts2相比Struts1,最大的优势...

    Struts2 文件上传总结

    然后,需要在Struts2配置文件或Action类上添加`@Namespace`, `@Action`, `@Result`等注解,以及`@InterceptorRef("fileUpload")`,启用文件上传拦截器。例如: ```java @Action(value = "upload", results = { @...

    30分钟学会STRUTS2.ppt

    以下是关于Struts2的一些关键知识点: **历史背景** Struts2是在2006年发布的,它是基于WebWork框架并结合了Struts 1的优点。Struts2的设计目标是提高开发效率、增强可测试性、简化配置以及提供更多的视图技术。 *...

    Struts2注解开发jar

    总结来说,Struts2注解开发通过`struts2-convention-plugin`插件实现了更加简洁、灵活的Java web应用开发方式,降低了XML配置的工作量,提高了开发效率。理解并熟练运用Struts2的注解开发,有助于创建高效、易于维护...

    struts2主要配置文件总结

    4. **struts-default.xml**: 这是一个默认的配置文件,位于struts2-core库的jar文件中,包含了Struts2的一些基础设置和预定义的拦截器。通常,你需要在struts.xml中导入这个文件,以便使用这些默认配置。 5. **...

    Jquery与struts2

    &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;result-type name="json" class="com.opensymphony.xwork2.result.HttpServletResponseResult" default="true"/&gt; &lt;!-- ... --&gt; ...

    struts基础总结

    Struts2的Action类通常继承自`ActionSupport`,这个类提供了默认的返回状态(如SUCCESS、ERROR)和一些常见的功能,如验证、国际化等。Action类的配置可以通过`struts.xml`中的`action`标签完成,如果不指定`class`...

    struts2登录实例

    总结,本实例通过Struts2展示了如何实现一个基本的登录功能。Struts2的灵活性和可扩展性使其成为开发Java Web应用的有力工具。通过理解并实践这个实例,你可以更深入地掌握Struts2的工作原理和应用。

    AJAX和struts2传递JSON数组

    总结来说,通过这种方式,我们可以利用AJAX向Struts2 Action传递JSON数组,实现异步数据交互。这在动态更新页面内容、处理表单提交等场景下非常有用。同时,使用JSON作为数据交换格式,使得前后端的数据交换变得更加...

Global site tag (gtag.js) - Google Analytics