<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 ...
随机推荐
- 考前停课集训 Day5 累
Day 5 今天不考试 因此自己订正+刷题 我就当日记来写吧 昨天棕名了…… 所以借了同学的号打题 NOIP前的崩心态啊QAQ 希望一切安好
- Qt控制台例子
功能:实现通过命令行方式保存文件 #include <QCoreApplication> #include <iostream> #include <QString> ...
- springboot的常见问题错误
一: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 2 ...
- MySQL JDBC简单使用
首先需要去MySQL官网下载MySQL JDBC驱动 导入jar包 String driver = "com.mysql.jdbc.Driver"; String url = &q ...
- bzoj 1008
记得取模时对答案的处理 #include<bits/stdc++.h> #define ll long long using namespace std; ; ll qpow(ll a,l ...
- poj3320 Jessica's Reading Problem(尺取思路+STL)
https://vjudge.net/problem/POJ-3320 尺取法,要想好组织方式. 又被卡了cin.. #include<iostream> #include<cstd ...
- ASP.NET微信公众号获取AccessToken
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间.acces ...
- angular 2 - 004 routing 路由
https://angular.io/tutorial/toh-pt5 定义一个模块用来定义路由 src/app/app-routing.module.ts import { NgModule } f ...
- 解决python3环境下twisted安装问题
twisted的安装经常会出问题,提示: 1.twisted错误,报Unable to find vcvarsall.bat2.等 解决办法: 1.安装wheel,命令:pip install whe ...
- jquery核心
1.找到所有 p 元素,并且这些元素都必须是 div 元素的子元素 $("div > p"); 2.设置页面背景色 $(document.body).css("ba ...