我正面临一个有趣的问题。我必须将html文件作为参数传递给方法,并且该文件位于数据库中。
档案文字:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Arial, Helvetica, sans-serif;font-size:13px;border:1px solid #d3d3d3">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="201">
<img src="cid:elogo.jpg" width="200" height="70" />
</td>
<td width="367">
<span style='float:right;color:#706b66;padding:30px 15px 0 22px;font-size:20px; font-family:Arial, Helvetica, sans-serif'>
<strong>#PASSWORD_TITLE#</strong>
</span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="padding:0 20px 0px 37px;">
<tr>
<td>Dear #USER_NAME#,</td>
</tr>
<tr>
<td>#BODY_TEXT#</td>
</tr>
</table>
</body>
</html>
我传递的参数是: -
javaScript:clickKey('${recConfig.configId}','${recConfig.key}','${recConfig.value}','${recConfig.description}','${recConfig.categoryName}')"
来自数据库的所有数据即将到来,我正在使用Spring MVC和Hibernate。参数的第三个值之一是html文件。
当我以这种方式传递文件时,我无法正常工作。当我检查这个问题时,我观察到由于html文件4和5参数显示在页面上而第三个参数未作为参数出现。
任何帮助将不胜感激。
答案 0 :(得分:0)
我有时会遇到类似的问题,应该归结为HTML内容中的引号。 一种解决方案可能是在加载编码html内容然后传递给clickKey()函数时,当你必须渲染它时,你应该使用javascript中的decodeURI()函数对其进行解码。
答案 1 :(得分:0)
这是我的问题的解决方案。
我使用Spring的htmlEscape方法将html文件转换为转义格式
HtmlUtils.htmlEscape(String to convert)
这为我提供了转换后的字符串,我把它传递给了所需的地方。
答案 2 :(得分:0)
我们可以使用隐藏参数。
在htmlEscaping之后在隐藏参数中设置数据并在javascript中获取数据
HTML:
&lt; input type ='hidden'id ='keyName'value ='&lt;%= strKeyName%&gt;'/&gt;
JS:
块引用