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学习笔记(5)-参数传递方法
参数传递即将参数传输到程序后台中,后台可能做一些处理,然后再将内容存入数据库之类嗒! 参数传递的方法较多,一一说明如下. 1.Action中直接参数法 有如下的index.jsp文件 复制代码 代码如下: <?xml version="1.0" encoding="GB18030" ?> <%@ page language="java" contentType="text/html; charset=GB18030&
-
Struts2学习笔记(1)-入门教程
什么是Structs2?它就是在Struts1的基础上演化而来的,是一种MVC模式的框架,其实它的功能很简单,就是将View和逻辑处理层分开.本人才疏学浅,以前都是用Spring做项目,由于要毕业,所以需要进行转行(暂且这么说吧),公司都是用的Structs框架,木有办法,从头开始学吧! 所需软件-Eclipse.TomCat7.0.Struts-2.3.1.2(源码自己下载),下面以具体小项目来说明. 首先是Struts2的工作原理:首先Tomcat对用户所输入的URL进行解析,将其中的项目名
-
Struts2学习笔记(4)-通配符的使用
通配符是在struts2配置中非常常用的一种配置方式,在程序开发过程中要遵循"约定优于配置"的原则,在这种原则下,约定的结果如果比较合适的话,就会大大减少配置的数量,使得配置变得非常简单,方便. 下面以例子来做下说明: 1.由如此的一个struts.xml配置文件: 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &
-
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学习笔记(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学习笔记(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学习笔记(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是单例模式的,只会产生一个实例,当多个用户同
随机推荐
- 深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
- 利用vue实现模态框组件
- VBS教程:方法-GetDrive 方法
- Angular.JS中指令的命名规则详解
- JavaScript删除数组元素的方法
- ThinkPHP实现多数据库连接的解决方法
- python中类和实例如何绑定属性与方法示例详解
- C语言判断回文数的小例子
- PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
- java开发_图片截取工具实现原理
- jQuery实现简单的tab标签页效果
- Javascript将JSON日期格式化
- Bootstrap按钮组实例详解
- C#读取系统字体颜色与大小的方法
- javascript学习随笔(使用window和frame)的技巧
- 零基础实现node+express个性化聊天室的示例
- python web框架中使用原生分页
- python自动查询12306余票并发送邮箱提醒脚本
- iOS 真机调试微信小程序
- node.js学习笔记之koa框架和简单爬虫练习