JSP页面中的action
通常相对路径的写法有两种,一种就是以“/”开头,一种就是不以“/”开头,这两种写法有什么区别:
URL基本是以http://localhost/Struts开头,现在做如下测试:
1.在Struts目录下面有一个文件叫sayHello.jsp,它里面的form的action的值是HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/HelloWorld.action。
2.如果action的值是test/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/test/HelloWorld.action。
3.假设在Struts目录下面有一个子目录add,它里面有一个文件叫sayHello.jsp,它里面的form的action的值是HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/add/HelloWorld.action。
4.在测试3下将action的值改为test/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/add/test/HelloWorld.action。
5.在测试3下将action的值改为/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/HelloWorld.action。
6.在测试3下将action的值改为/test/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/test/HelloWorld.action。
总结:在页面文件中,所请求的相对路径为path,那么它的路径匹配是从文件当前所在的目录开始的,假设页面文件当前所在目录为currentPath,那么匹配后的完整路径就是http://localhost/Sturts/currentPath/path;如果相对路径为/path,那么匹配后的路径就是http://localhost/Sturts/path。也就是说,如果以“/”开头,就从当前应用的根目录开始匹配,如果不以“/”开头就从当前文件所在的目录开始匹配。这样的话,如果文件本来就在根目录下面,那么加“/”和不加“/”就没啥区别。
struts.xml中的action
在Struts2还一个要匹配路径的地方就是在处理完请求之后对页面进行分发的时候,也就是result元素里面的内容。测试记录如下:
1.<result>/HelloWorld.jsp</result>匹配的路径是http://localhost/Struts/HelloWorld.jsp。
2.<result>HelloWorld.jsp</result>这个时候就和调用这个action的路径相关了,可以这样进行匹配,首先得到请求这个action的url,然后去掉最后一个“/”后面的内容,再把HelloWorld.jsp接上去,我们是通过http://localhost/Struts/aa/bb/cc/HelloWorld.action调用的action,那么匹配出来的url就是http://localhost/Struts/aa/bb/cc/HelloWorld.jsp。
我的总结:如果加上“/“的话,就在项目的路径下,比如:
开始:http://localhost/Struts2/struts2/HelloWorld.jsp为当前路径,
若action为“/hello“,返回http://localhost/Struts2/hello.action;
若action为“hello“,返回http://localhost/Struts2/struts2/hello.action。
也就是加上斜线,就会到最开始项目名下的路径,不加斜线的话,会根据当前的路径决定。
result的配置与上面一样的。
分享到:
相关推荐
struts1和struts2获取相对路径的方法.doc
http://blog.csdn.net/love_xiolan/article/details/54945859 博文地址 此代码,下载后,倒入到eclipse中即可使用..
NULL 博文链接:https://mefly.iteye.com/blog/399773
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
5、JSP/Servlet中获得当前应用的相对路径和绝对路径 JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getRequestURI() 文件的绝对路径:application.getRealPath(request.getRequestURI...
struts2与AJAX一 struts2与AJAX二 struts2与AJAX三 struts2中用Spring实现IOC struts2中的零配置与IOC struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶...
struts2 源码绝对完整,struts2 源码绝对完整。
关于Struts2的使用详情,以及绝对路径和相对路径的使用
其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为...
Struts2中文教程,Struts2API
struts2 资料struts2 资料struts2 资料struts2 资料
struts2 poi 导入xls xlsx绝对兼容,直接导入myeclipse 使用
struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...
关于Struts2相对路径问题
struts2官方文档
Struts2是一套非常优秀的Java WEB应用框架,实现优雅、功能强大、使用简洁。目前已有大量的企业项目采用Struts2来作为Web框架进行开发,掌握Struts2是每个进行Web开发的Java程序员的一项必备技能。 本视频对Struts2...
struts2的根本webwork2
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的...
struts2源码 struts2案例 struts2使用包