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学习笔记(8)-Result常用类型
Result也是Struts2比较重要的一部分,在Result的配置中常用的有四种类型:dispatcher.redirect.chain和redirectAction,在这四种中又以前两种最为常见. 例: <struts> <constant name="struts.devMode" value="true" /> <package name="resultTypes" namespace="/r&qu
-
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学习笔记(4)-通配符的使用
通配符是在struts2配置中非常常用的一种配置方式,在程序开发过程中要遵循"约定优于配置"的原则,在这种原则下,约定的结果如果比较合适的话,就会大大减少配置的数量,使得配置变得非常简单,方便. 下面以例子来做下说明: 1.由如此的一个struts.xml配置文件: 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &
-
Struts2学习笔记(5)-参数传递方法
参数传递即将参数传输到程序后台中,后台可能做一些处理,然后再将内容存入数据库之类嗒! 参数传递的方法较多,一一说明如下. 1.Action中直接参数法 有如下的index.jsp文件 复制代码 代码如下: <?xml version="1.0" encoding="GB18030" ?> <%@ page language="java" contentType="text/html; charset=GB18030&
-
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学习笔记(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学习笔记(1)-入门教程
什么是Structs2?它就是在Struts1的基础上演化而来的,是一种MVC模式的框架,其实它的功能很简单,就是将View和逻辑处理层分开.本人才疏学浅,以前都是用Spring做项目,由于要毕业,所以需要进行转行(暂且这么说吧),公司都是用的Structs框架,木有办法,从头开始学吧! 所需软件-Eclipse.TomCat7.0.Struts-2.3.1.2(源码自己下载),下面以具体小项目来说明. 首先是Struts2的工作原理:首先Tomcat对用户所输入的URL进行解析,将其中的项目名
-
Struts2学习笔记(6)-简单的数据校验
数据校验是在项目开发中不可缺少的一部分,用户登录时.密码验证时都需要,当然要做的首先是获得用户输入的内容,然后对内容进行验证,一般都是从数据库中读出然后校验,如果错误则显示提示信息,正确则进入用户主界面. 下面用一个简单小例子来说明下步骤: 1.index的表单 复制代码 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="U
-
Struts2学习笔记(2)-路径问题解决
在struts2中的路径问题是根据Action的路径而不是JSP的路径确定的,所以尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,有的时候一个细微的变动会导致你需要大的改动. 解决方法其实也很简单:即统一使用绝对路径. 在jsp中可以通过request.getContextRoot的方式获得webapp的绝对路径: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEnco
-
java struts2学习笔记之线程安全
在说struts2的线程安全之前,先说一下,什么是线程安全?这是一个网友讲的. 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 就是说,在一个进程中有多个线程并发执行,每个线程执行过程中,变量值是相同的,执行结果也是相同的,就是线程安全的.否则就是线程不安全的. 然后回顾一下servlet的线程安全问题,由于servlet是单例模式的,只会产生一个实例,当多个用户同
随机推荐
- AngularJS教程之简单应用程序示例
- jquery css 设置table的奇偶行背景色示例
- RequireJS使用注意细节
- 用js实现简单算法的实例代码
- asp中获取内容中所有图片与获取内容中第一个图片的代码
- 用jQuery实现圆点图片轮播效果
- 基于Javascript实现的不重复ID的生成器
- 原生javascript实现DIV拖拽并计算重复面积
- 使用批处理异地备份数据(winrar)
- Android 调试工具用法详细介绍
- 浅谈Java与C#的一些细微差别
- element 结合vue 在表单验证时有值却提示错误的解决办法
- linux中ftp服务搭建需要注意的地方
- 解决Mac OS X 自带PHP环境gd库扩展缺少freetype的问题
- 详解SpringBoot注入数据的方式
- JavaSwing后台播放音乐mp3
- vue中的ref和$refs的使用
- 微信小程序实时聊天WebSocket
- Linux系统中创建SSH服务器别名的两种方法
- 如何给asp.net core写个中间件记录接口耗时