Struts2中namespace的用法

转载 2015年07月08日 09:23:23
Struts2中关于Action的namespace在很多地方出现,如struts.xml、form标签等等,有些莫名其妙的错误就是由于namespace设置错误造成的。如无法找到匹配的Action,访问不了result指定的页面等等。 
namespace的作用是定义访问Action的url,在不同的namespace中可以定义同名的action,不同的包可以共享同一个namespace,可以通过namespace控制action的访问。 

1. <s:form>标签中如何指定namespace,是否必须指定namespace? 
如果你访问的jsp路径与action的namespace重合,那么并不需要指定namespace,struts2会首先自动寻找跟你jsp路径相同的namespace,如果没有会寻找默认namespace。 
如果form标签中没有指定namespace,那么会使用jsp路径作为namespace,在struts.xml中寻找action。如果form标签中指定了namespace,那么直接使用指定的namespace查找action。 
例: 
访问URL="http://localhost:8080/struts2/MainWeb/login.jsp",中"/MainWeb"为 Web应用程序下的访问路径,如果在login.jsp中的form标签中没有指定namespace,那么默认action的namespace 为"/MainWeb";如果login.jsp中设置了form标签的namespace<s:form namespace="/MainWeb"/>,那么action的namespace则为"/MainWeb"。 

2. 在struts.xml的<package>标签中如何指定namespace? 
在<package>中指定了namespace,不仅为action提供了namespace,也同时规定了result返回结果 的路径。在result中可以使用绝对路径和相对路径对返回结果进行配置,绝对路径以"/"开头,代表了Web应用程序上下文的根目录,相对路径不以" /"开头。绝对路径不受Action的namespace影响,而相对路径则以Action的namespace为根路径。 

3. 举例说明 
默认状态 
Struts.xml代码 
  1. <package name="default" extends="struts-default">  

Jsp代码 
  1. <s:form name="form_login" action="userInfoLogin" theme="simple">  


指定状态 
Struts.xml代码 
  1. <package name="MainWeb" extends="struts-default" namespace="/MainWeb">  

Jsp代码 
  1. <s:form name="form_login" action="userInfoLogin" namespace="/MainWeb" theme="simple">  

相关文章推荐

Struts2 XML配置详解

1.    深入Struts2的配置文件本部分主要介绍struts.xml的常用配置。1.1.    包配置:Struts2
  • zz_mm
  • zz_mm
  • 2010-04-08 01:43
  • 171533

jquery $(document).ready() 与window.onload的区别

Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的。 1.执行时间 ...

struts2命名空间namespace和访问路径的关系

我是在看了别人的博客之后,对namespace和访问路径的关系算是搞明白了,故记录下来供大家参阅和自己以后进行查看。 假设我的struts.xml配置文件中一个action配置如下: ...

关于Struts2 UI标签<s:form>namespace配置问题

Struts2 UI标签namespace配置问题,action属性值里添加了后缀导致无法找到action

Struts2 的 struts.xml 配置中 namespace 的使用

转载自:http://www.blogjava.net/feicer/articles/258036.html Struts2 的 struts.xml 中是分 package 配置的,可以为 pa...

struts2中Action的name 和package的name和namespace是什么作用

在struts2的 struts.xml 配置中 例: Xml代码   package name="strutsX" namespace="/mystruts" extends...

struts中package元素的namespace属性用法

struts中package元素的namespace属性几乎在所有的项目中都会使用到,开始总是不知道怎么用,后来在百度了一下,找到了一些解法,但是我自己尝试的时候却不能成功。后来我自己在他们的基础上做...
  • kqygww
  • kqygww
  • 2013-03-19 20:47
  • 10175

Struts框架中,namespace什么意思?

把你在struts.xml中的namespace="/"换成namespace="/tt"的话 那么在你的jsp页面上 或者写成

struts2学习:配置篇之namespace

把namespace单独拉出来讲一方面是因为它实际上不是一个element,而只是一个attribute,前面已经说了,它是package的一个attribute;另外一方面是因为这个属性是我接触St...

struts.xml中package的namespace属性

struts.xml文件中package标签除了有name、extends属性外,还有一个十分重要的属性:namespace。如下:      namespace="/abc">     ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)