今天花点时间整理下 struts2 namespace
struts.xml配置
<package name="default" namespace="/" extends="struts-default">
<action name="struts2/namespace/test">
<result name="success">/app/namespace/reput3.jsp</result>
</action>
</package>
<package name="struts2" namespace="/struts2" extends="struts-default">
<action name="namespace/test">
<result name="success">/app/namespace/reput.jsp</result>
</action>
</package>
<package name="spring" namespace="/spring" extends="struts-default">
<action name="namespace/test">
<result>/app/namespace/reput2.jsp</result>
</action>
</package>
<package name="/struts2/namespace" namespace="/struts2/namespace" extends="struts-default">
<action name="test">
<result>/app/namespace/reput4.jsp</result>
</action>
</package>
jsp代码1
<s:form action="namespace/test" namespace="/struts2">
<s:submit value="struts2"></s:submit>
</s:form>
url为:
http://localhost:8090/ssh2/struts2/namespace/test.action
jsp代码2
<s:form action="namespace/test.action" namespace="/spring" method="post">
<s:submit value="spring"></s:submit>
</s:form>
url 为
http://localhost:8090/ssh2/namespace/test.action
jsp代码3
<s:form action="struts2/namespace/test">
<s:submit value="struts2-1-1"></s:submit>
</s:form>
namsespace 为空 ,最终url为http://localhost:8090/ssh2/struts2/namespace/test ,url路径加上默认 namespace: /
jsp代码4
<s:form action="struts2/namespace/test.action">
<s:submit value="struts2-1-2"></s:submit>
</s:form>
有无后后缀 .action都一样,只要能找到对应ation即可 最终url为http://localhost:8090/ssh2/struts2/namespace/test.action
jsp代码5
<s:form action="struts2/namespace/test" namespace="/">
<s:submit value="struts2-1-3"></s:submit>
</s:form>
url为
http://localhost:8090/ssh2/struts2/namespace/test.action
jsp代码6
<s:form action="namespace/test" namespace="/hibernate">
<s:submit value="hib1"></s:submit>
</s:form>
namespace /hibernate不存在,url路径不加上 定义的/namcespace,url为http://localhost:8090/ssh2/namespace/test
经过测试,总结:
1、若jsp标明的namespace 存在,并在对应的struts.xml文件中能找到对应的action配置(不一定是jsp标明的namespace下的action,而是完成的url能正确访问,并且jsp定义的action不加后缀.action),则在前缀加namespace(namespace必须存在)以及后缀加定义的.action;
2、如果jsp标明的namespace不存在,url不会加标明的namespace值;
3、若jsp标明的namespace存在,jsp定义的action加后缀.action,则url前缀则不会添加标明的namespace值;
同一个url能在struts.xml文件中能找到多个对应的action会访问哪一个action,可以参考:
http://hi.baidu.com/mum0532/blog/item/128f9a64fa8594f5f6365457.html
分享到:
相关推荐
以前学习struts2时候,自己练习的代码,可以供初学者参考学习
1、struts2概述 Struts2 软件下载 Struts2 比较重要的类 操作步骤及框架配置 struts运行机制 2、简单的struts2程序 3、struts2配置文件 4、cion主要内容 Namespace、自定义Action、路径问题、通配符、包含模块...
前几天在网上下载一个struts2的helloword的例子,那个作者也真够缺德的,搞个错误的程序,害得我查了一天的程序错误。 最后发现竟然是struts.xml被写成啦sturts.xml。 碰见这样的问题先鄙视下提供例子的作者, 再...
namespace :对应与项目名称后面的"/"(例如Struts2_0100_Introduction后面的"/") (http://localhost:8080/Struts2_0100_Introduction/) 四、 标签 是用来解决重名的问题,例如当系统的前台和后台都有一个action...
struts2实现的学生信息管理系统 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
NULL 博文链接:https://cdxs2.iteye.com/blog/1926331
北京时间8月22日13时,Apache官方发布通告公布了Struts2中一个远程代码执行漏洞(cve-2018-11776)。该漏洞可能在两种情况下被触发,第一,当没有为底层xml配置中定义的结果设置namespace 值,并且其上层动作集配置...
struts.xml ...<package name="demo" namespace="/mystruts" extends="struts-default"> <result name="positive">/positive.jsp <result name="negative">/negative.jsp </struts>
Flexigrid与struts2 说明,还有Flexigrid的使用说明和Flexigrid的实例。Flexigrid的包。
<package name="default" namespace="/" extends="struts-default"> <!-- 添加如下内容 --> <result-types> <result-type name="streamx" class="com.sunspoter.lib.web.struts2.dispatcher.StreamResultX"/> ...
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
<package name="default" namespace="/" extends="struts-default"> <result> /result.jsp <package name="LoginForm" extends="struts-default"> <result> /login.jsp </struts> <!-...
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。 • 包命名习惯来指定Action位置 • 命名习惯制定结果(支持JSP,FreeMarker等)路径 • 类名到URL的约定转换 • 包名...
是一个简单的struts2中阐明命名空间的实例
This result uses the ActionMapper provided by the ActionMapperFactory to redirect the browser to a URL that invokes the specified action and (optional) namespace. This is better than the ...
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
4.建立文件夹需要在src/struts2.xml里添加一句话:<package name="folder1" namespace="/folder1" extends="default"> 5.WebRoot/WEB-INF/jsp目录建立对应的文件夹folder1 6.在包com.test.web.action添加类,比如...