String literal is not properly closed by a double-quote错误例子

例一:

代码如下:点击更新按钮以后跳到这个页面就报错了!!高手帮帮忙了!!如果不带这个参数直接跳转的话就不报错!但是必须带上Arttiel参数的!

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ include file="connection.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
 
<%
request.setCharacterEncoding("gb2312");
String bian=(String)request.getParameter("id");
String Arttiel=request.getParameter("Arttiel");
int i=Integer.parseInt(bian);
String dalei=request.getParameter("zm");
String xiaolei=request.getParameter("xname");
String sjsid=request.getParameter("sjsid");
String zpid=request.getParameter("zpid");
String clmc=request.getParameter("clmc");
String xzp=request.getParameter("xzp");
String dzp=request.getParameter("dzp");
String urldizhi=request.getParameter("urldizhi");
String tel=request.getParameter("dianhua");
String chuanzhen=request.getParameter("chuanzhen");
String email=request.getParameter("email");
String lxr=request.getParameter("lxr");
String jianjie=request.getParameter("jianjie");
String dizhi=request.getParameter("dizhi");
String dianji=request.getParameter("dianji");
String content=request.getParameter("d_content");
String str="update makings set styid='"+sjsid+"',workid='"+zpid+"',type='"+dalei+"',xname='"+xiaolei+"',name='"+clmc+"',logpic='"+xzp+"',product='"+dzp+"',url='"+urldizhi+"',tel='"+tel+"',fax='"+chuanzhen+"',email='"+email+"',telman='"+lxr+"',address='"+dizhi+"',strus='"+jianjie+"',hot='"+dianji+"',content='"+content+"' where id="+i;
int n=sqltest.add(str);
out.println("<script>alert('更新成功!');document.location =/"sousuo.jsp?Arttiel=<%=Arttiel%>/";</script>");
%>
</body>
</html> 

 

问题补充:
就是这句报错,一带上参数(Arttiel)就报错,如果把参数去了,就没事了,但是这个参数是必须要用的!!
out.println("<script>alert('更新成功!');document.location =/"sousuo.jsp?Arttiel=<%=Arttiel%>/";</script>"); 
如果写成如下这样就能得到这个参数,但是一换成<%=%>这种就会报错!
out.println("<script>alert('更新成功!');document.location =/"sousuo.jsp?Arttiel=1/";</script>");
最佳答案
<%=%>是使用在HTML中的复制,
out.println("<script>alert('更新成功!');document.location =/"sousuo.jsp?Arttiel=" + Arttiel + "/";</script>"); 

例二:

 

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 38 in the jsp file: /jsrz/admin/showrz.jsp
String literal is not properly closed by a double-quote
35:   Statement _smt=con.createStatement();
36:   ResultSet _rs;
37:   String _sql;
38:   _sql="SELECT * FROM rzbody where name ='"+name+"';
39:   _rs = _smt.executeQuery(_sql);

最佳答案

少了个引号
_sql="SELECT * FROM rzbody where name ='"+name+"'"; 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值