`
qiuxiaorong1979
  • 浏览: 81008 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

Struts2中namespace的用法

阅读更多
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. 举例说明
默认状态
<package name="default" extends="struts-default">

<s:form name="form_login" action="userInfoLogin" theme="simple">


指定状态
<package name="MainWeb" extends="struts-default" namespace="/MainWeb">

<s:form name="form_login" action="userInfoLogin" namespace="/MainWeb" theme="simple">



分享到:
评论

相关推荐

    struts2 学习笔记 实战

    三、 Namespace Namespace决定了action的访问路径,默认为“”,可以接收所有路径的action,如果没有找到相应的namespace时,则使用namespace为空的action ...struts2中的package与java的package是相同的作用的。

    Struts升级到Struts2.3.35

    北京时间8月22日13时,Apache官方发布通告公布了Struts2中一个远程代码执行漏洞(cve-2018-11776)。该漏洞可能在两种情况下被触发,第一,当没有为底层xml配置中定义的结果设置namespace 值,并且其上层动作集配置...

    Flexigrid与struts2的整合使用说明

    Flexigrid与struts2 说明,还有Flexigrid的使用说明和Flexigrid的实例。Flexigrid的包。

    Struts2 Convention Plugin中文文档 Annotion

    从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。 • 包命名习惯来指定Action位置 • 命名习惯制定结果(支持JSP,FreeMarker等)路径 • 类名到URL的约定转换 • 包名...

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    深入浅出Struts2(附源码)

    本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    在struts2中使用result里type="stream"的结果类型时,可以实现文件的下载管理,使用时也是比较顺畅,但是当在“下载提示窗口”中点击“取消按钮”时,总是报出“java.lang.IllegalStateException”异常,异常内容...

    struts2配置2.5版

    &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;result&gt; /result.jsp &lt;package name="LoginForm" extends="struts-default"&gt; &lt;result&gt; /login.jsp &lt;/struts&gt; &lt;!-...

    搭建好的一个struts2环境

    为了方便初学者使用Struts2,我配置了一个Struts2空项目,可以直接使用Struts2,IDE使用的是MyEclipse6.5 使用方法: 1.在包com.test.web.action添加类,比如Test1Action.java,该类需要继承ActionSupport 2.在Web...

    解决使用struts2 时 访问web工程首页问题

    http://localhost:8080/ struts2会拦截,出现异常信息 There is no Action mapped for namespace / and action name.默认配置的welcomefile没有起作用。 按附件配置即可解决此问题

    struts2注解详细说明

    • 包命名习惯来指定Action位置• 命名习惯制定结果(支持JSP,FreeMarker等)路径• 类名到URL的约定转换• 包名到命名空间(namespace)的约定转换• 遵循SEO规范的链接地址(即:使用my-action 来替代 ...

    Struts2帮助```````

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    struts2-hibernate-spring 集成jar包

    struts2-hibernate-spring 集成jar包,但在使用时要注意struts2的配置文件中的&lt;package&gt; 标签中不要配置 “namespace” 属性 且在页面中访问 Action 的请求要带“.action” 跑。

    struts项目搭建

    Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点:  MVC 2模型的使用  功能齐全的标志库(Tag Library)  开放源代码 好了...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。书中...

    Struts2注解+JDBC+MySQL小项目应用

    @Namespace("") @Results({ @Result(name = "loginSuccess", location = "/WEB-INF/success.jsp"), @Result(name = "loginFailure", location = "/WEB-INF/failure.jsp"), @Result(name = "checkSuccess", ...

    Struts2的struts.xml配置详细介绍

    配置常量,可以改变Struts 2框架的一些行为 name属性表示常量名称,value属性表示常量值 package元素: 包的作用:简化维护工作,提高重用性 包可以“继承”已定义的包,并可以添加自己包的配置 name属性为必须去且...

    JSP Struts过滤xss攻击的解决办法

    本方案采用struts2的拦截器过滤,将提交上来的参数转码来解决。 配置struts.xml &lt;package name=default namespace=/ extends=struts-default,&gt; &lt;!-- 配置拦截器 --&gt; &lt;!-- 定义xss拦截器 --&gt; ...

Global site tag (gtag.js) - Google Analytics