如何忽略与嵌入引号交互的字符串中的单个引号

  • 本文关键字:交互 单个引 字符串 何忽略 java html
  • 更新时间 :
  • 英文 :


我的问题出现在我的循环中,该循环将java中SQL查询的结果显示为HTML

我需要添加一个";添加到购物车";链接<a href='?id=id&name=name等>但问题在于,其中一个结果是该名称具有如";约翰的史密斯";。

这个单引号结束了我的href链接,而不是将其添加到链接的名称部分。

有什么建议吗?

do {    

out.println("<tr><td class='col-md-1'> <a href='addcart.jsp?id="+rst.getString(1)+"&name="+rst.getString(2)+"&price="+rst.getString(4)+"'>Add to cart</a></td><td>"+rst.getString(2)+"</td><td>"+rst.getString(3)+"</td><td>"+rst.getString(4)+"</td></tr>");
} while (rst.next());

提前感谢!

处理href中任意和未知字符的最佳方法是使用URL编码,这样您使用的引号(单引号或双引号(或引号的嵌套方式就无关紧要了。

Java有一个URLEncoder类专门用于实现这一点。

通常,如果url的其余部分是已知的并且是固定的,那么您会在查询字符串中使用它。我建议构建查询字符串,对其进行url编码,并然后将其添加到您的输出中,类似于:

final String query =
"id=" + rst.getString(1) +
"&name=" + rst.getString(2) +
"&price=" + rst.getString(4);
out.println("<tr><td class='col-md-1'> <a href='addcart.jsp?" + 
URLEncoder.encode(query) +
"etc. the rest");

本Java URL编码/解码指南可能会有所帮助。

最新更新