Struts2学习笔记(2)-路径问题解决
在struts2中的路径问题是根据Action的路径而不是JSP的路径确定的,所以尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,有的时候一个细微的变动会导致你需要大的改动。
解决方法其实也很简单:即统一使用绝对路径。
在jsp中可以通过request.getContextRoot的方式获得webapp的绝对路径:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
以上方式很明确,path字符串获得是webapp的路径,然后basePath获得的是整个项目的根路径(注:已经含有了最后的“/”)
在使用时只需调用basePath即可(以跳转到index为说明):
<a href="<%=basePath %>index.jsp">index.jsp</a>
其中<a></a>代表的是超链接,这样就可以跳转到xxxxx/index了(前提是你的namespace和Action的设置要配置好)。
以上就是Struts2中路径问题的全部内容,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Struts2学习笔记(4)-通配符的使用
通配符是在struts2配置中非常常用的一种配置方式,在程序开发过程中要遵循"约定优于配置"的原则,在这种原则下,约定的结果如果比较合适的话,就会大大减少配置的数量,使得配置变得非常简单,方便. 下面以例子来做下说明: 1.由如此的一个struts.xml配置文件: 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &
-
Struts2学习笔记(1)-入门教程
什么是Structs2?它就是在Struts1的基础上演化而来的,是一种MVC模式的框架,其实它的功能很简单,就是将View和逻辑处理层分开.本人才疏学浅,以前都是用Spring做项目,由于要毕业,所以需要进行转行(暂且这么说吧),公司都是用的Structs框架,木有办法,从头开始学吧! 所需软件-Eclipse.TomCat7.0.Struts-2.3.1.2(源码自己下载),下面以具体小项目来说明. 首先是Struts2的工作原理:首先Tomcat对用户所输入的URL进行解析,将其中的项目名
-
Struts2学习笔记(5)-参数传递方法
参数传递即将参数传输到程序后台中,后台可能做一些处理,然后再将内容存入数据库之类嗒! 参数传递的方法较多,一一说明如下. 1.Action中直接参数法 有如下的index.jsp文件 复制代码 代码如下: <?xml version="1.0" encoding="GB18030" ?> <%@ page language="java" contentType="text/html; charset=GB18030&
-
Struts2学习笔记(9)-Result配置全局结果集
Result可以设定全局结果集,如: <struts> <constant name="struts.devMode" value="true" /> <package name="user" namespace="/user" extends="struts-default"> <global-results> <result name="m
-
Struts2学习笔记(6)-简单的数据校验
数据校验是在项目开发中不可缺少的一部分,用户登录时.密码验证时都需要,当然要做的首先是获得用户输入的内容,然后对内容进行验证,一般都是从数据库中读出然后校验,如果错误则显示提示信息,正确则进入用户主界面. 下面用一个简单小例子来说明下步骤: 1.index的表单 复制代码 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="U
-
Struts2学习笔记(8)-Result常用类型
Result也是Struts2比较重要的一部分,在Result的配置中常用的有四种类型:dispatcher.redirect.chain和redirectAction,在这四种中又以前两种最为常见. 例: <struts> <constant name="struts.devMode" value="true" /> <package name="resultTypes" namespace="/r&qu
-
Struts2学习笔记(7)-访问Web元素
常用的Web元素有:request.session.application等,而我们一般使用session较多,Struts2如何访问web元素呢?这个是非常重要的内容,因为它能完成程序后台和用户的数据交互,下面以注册为例演示其过程: 1.index.jsp文件 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-
Struts2学习笔记(3)-DMI动态调用方式
什么是DMI?DMI即所谓的动态方法调用. Action在执行的时候并不一定要执行execute方法,可以在配置文件中配置Action的时候用method=来指定执行哪个方法,也可以在url地址中动态指定(动态方法调用DMI). 第一种方式,在struts.xml中对Action添加method: 复制代码 代码如下: <struts> <constant name="struts.devMode" value="true" />
-
在Struts2中的结果集类型
1.每个action方法都返回一个String类型的值,struts一次请求返回什么值是由这个值确定的. 2.在配置文件中,每一个action元素的配置都必须有result元素,每一个result对应一个action的返回值. 3.Result有两个属性: name:结果的名字,和action中的返回值一样,默认值为success; type:响应结果类型,默认值为dispatcher. 在下面找到struts-default.xml文件中,如下面所示: 说明: 1.从上述可以看出总共10种类型
-
Struts2学习笔记(2)-路径问题解决
在struts2中的路径问题是根据Action的路径而不是JSP的路径确定的,所以尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,有的时候一个细微的变动会导致你需要大的改动. 解决方法其实也很简单:即统一使用绝对路径. 在jsp中可以通过request.getContextRoot的方式获得webapp的绝对路径: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEnco
-
java struts2学习笔记之线程安全
在说struts2的线程安全之前,先说一下,什么是线程安全?这是一个网友讲的. 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 就是说,在一个进程中有多个线程并发执行,每个线程执行过程中,变量值是相同的,执行结果也是相同的,就是线程安全的.否则就是线程不安全的. 然后回顾一下servlet的线程安全问题,由于servlet是单例模式的,只会产生一个实例,当多个用户同
随机推荐
- 利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
- DNS原理及其解析过程剖析(图文)
- js使用DOM设置单选按钮、复选框及下拉菜单的方法
- 用PS实现纹理浮雕效果代码
- java中this与super关键字的使用方法
- oracle 时间格式的调整
- php中常用的预定义变量小结
- 编译php 5.2.14+fpm+memcached(具体操作详解)
- 小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
- jsp获取url路径的方法分析
- Stop SQL Server
- asp.net网站底部的版权信息实现代码且可维护
- 浅谈vim的四种模式及模式切换
- ASP操作Excel相关技术总结
- 详解Spring Boot 自定义PropertySourceLoader
- Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
- jquery在ie7下选择器的问题导致append失效的解决方法
- php简单对象与数组的转换函数代码(php多层数组和对象的转换)
- 用IS6 进行 ASP 软件的打包和自动安装 的方法
- 2018年Python值得关注的开源库、工具和开发者(总结篇)
