<jsp:param>标签给属性赋值时的一个坑
http://blog.sina.cn/dpool/blog/s/blog_58c5066001011gdn.html
因为:
<jsp:forward和<jsp:param在被编译成java时是这样的。
jsp:
<%
String n1 = request.getParameter('userFirstName');
%>
<jsp:forward page='MyThirdJSP.jsp'>
<jsp:param name='userFirstName' value='<%= n1 %>' />
</jsp:forward>
java:
out.write(_jsp_string2);
if (true) {
pageContext.forward('MyThirdJSP.jsp' + '?' +org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode('userFirstName', request.getCharacterEncoding())+ '=' + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode(String.valueOf( n1 ), request.getCharacterEncoding()) + '&' + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode('userLastName', request.getCharacterEncoding())+ '=' + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode(String.valueOf( n2 ), request.getCharacterEncoding()));
return;
}
out.write(_jsp_string5);
JSP解析器在将jsp进行翻译转换为Java的时候,会将<% %>中的内容视作字符串并直接嵌入生成的java代码中,而嵌套的双引号破坏了jsp文件的格式,使得 value='<%= %>' 代码段中的代码不是正确的JAVA代码,而且java中字符串不允许像javascript那样使用单引号(例如'Test'),所以导致了Compile error。
解决这个问题,需要使用转义符“\”。
所以:
使用<%=%>表达式给属性赋值时,需要对双引号进行转义:
<jsp:forward page=“MyThirdJSP.jsp”>
<jsp:param name=”userFirstName” value=”<%= request.getParameter(\”userFirstName\”) %>”/>
</jsp:forward>
<jsp:param>标签给属性赋值时的一个坑的更多相关文章
- 给a标签herf属性赋值时,必须加http://
新建一个web工程,FirstWeb,在其中新建一个页面:test.jsp <%@ page language="java" contentType="text/h ...
- 关于pyinstaller打包程序时设置icon时的一个坑
关于pyinstaller打包程序时设置icon时的一个坑 之前在用pyinstaller打包程序的时候遇到了关于设置图标的一点小问题,无论在后面加--icon 或是-i都出现报错.查了下st ...
- WSL Ubuntu 安装MongoDb 4.0导入公钥时遇到一个坑 (转)
WSL Ubuntu 安装MongoDb 4.0导入公钥时遇到一个坑 一路坑啊~~~网上的密钥都不对???? 不应该啊 源中默认是MongoDb 3.x 但是我想用4.0,然后按照mongodb官方 ...
- JSP动作标签flush属性值
在JSP动作标签<jsp:include flush="true"/>,flush属性可以为true或false.flush默认值为false,当把flush属性赋值为 ...
- EF架构~为导航属性赋值时ToList()的替换方案
回到目录 今天在进行EF开发时,遇到一个问题,在进行join查询时,类中的一个集合类型的导航属性,在给它赋值时,将查询出来的结果ToList()后,出错了,linq to entity不支持这种操作, ...
- Nginx 转发时的一个坑,运维居然让我背锅!!
最近遇到一个 Nginx 转发的坑,一个请求转发到 Tomcat 时发现有几个 http header 始终获取不到,导致线上出现 bug,运维说不是他的问题,这个锅我背了. 新增的几个 header ...
- JSP自定义标签rtexprvalue属性
rtexprvalue的全称是 Run-time Expression Value, 它用于表示是否可以使用JSP表达式.(比如EL表达式或OGNL表达式). 当在<attribute>标 ...
- 应该是实例化对象的没有对属性赋值时,自动赋值为null,但不是空指针对象引用
此时会输出两个null. Users类的实例是myUsers,但是由于javabean的作用范围是page,所以前面页面传送的javabean的设置的属性全部不能接收到.所以对象myUsers属性为自 ...
- Java中对象JSON格式化处理时的一个坑
在项目中遇到了一个JSON的坑.记录下. 直接上代码: import java.util.ArrayList; import com.alibaba.fastjson.JSON; public cla ...
随机推荐
- sublime text3中emmet插件的使用
首先,想要快速编码需 要在编辑器中安装常用插件,下面是emmet插件的使用: html5文档结构的生成方式: 1).!+tab键 2).html:5 +tab键 头部head中meta字符集的生成: ...
- C_汉诺塔的故事(递归)
汉诺塔: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小顺 ...
- H5C303
H5C303 1.CSS3 一些js功能可以通过css3实现. 坚持渐进增强原则. 另一侧:优雅降级hack 3.选择器 1)属性选择器:根据指定名称的属性来查找元素 E是元素 li[style]{ ...
- JSAP107
JSAP107 1.目标 2. 需要考虑的问题: 案例:图片随着鼠标飞兼容性代码 <!DOCTYPE html> <html lang="en"> < ...
- Listener(1)—基础知识
一.监听器 1.概念: 专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监听的对象状态发生情况时,立即采取相应的 行动.Servlet规范为每种事件监听器都定义了相应的接口,w ...
- html的文字样式、下行线、删除线、上标、下标等实现方式
先看效果如下: 代码如下: <del>del标签删除线</del><br/> <strike>strike标签删除线</strike>< ...
- 纯 CSS 实现高度与宽度成比例的效果
http://zihua.li/2013/12/keep-height-relevant-to-width-using-css/
- Javascript 字符串(一)常见函数使用
一.js字符串示例1 <script type="text/javascript"> var strobject = new String('123abc123abc' ...
- 遇到一个git branch很奇怪的问题
最近,同事做了一个自动化的打包平台,但我发现里面的分支竟然有重复的,还有一些已经删除的branch. 比如,我已经删除了一个 test分支,在工程 game 目录下(已输入 git pull),输入: ...
- Object 标签遮挡 Div 显示
最近在使用 Object 时,就是播放视频的 Object 标签遮挡住其他 div 标签,不能正常显示. 出现这种现象的原因: object 标签不在 dom 文档流里面,浏览器在解析的时候先把 ob ...