Java 读取csv文件并在js中发出警报时,SyntaxError:缺少)在参数列表之后
获取错误:Java 读取csv文件并在js中发出警报时,SyntaxError:缺少)在参数列表之后,java,javascript,jquery,jsp,Java,Javascript,Jquery,Jsp,获取错误:缺失)在读取csv文件时,在参数列表后,但在我使用javascript发出警报或将其分配给javascript中的任何变量时 <script> <% String csv = ""; try { BufferedReader reader = new BufferedReader(new FileReader("c:/Testing.csv"));
缺失)在读取csv文件时,在参数列表后,但在我使用javascript发出警报或将其分配给javascript中的任何变量时
<script>
<%
String csv = "";
try {
BufferedReader reader = new BufferedReader(new FileReader("c:/Testing.csv"));
String text = "";
while ((text = reader.readLine()) != null) {
csv = csv + text;
}
}
catch(Exception e) {}
%>
alert("<%= csv %>");
var test = "<%= csv %>";
</script>
警报(“”);
var检验=”;
输出:
姓名、政党、省份、年龄、性别
“莫拉尼,玛丽亚”,魁北克BlocQuebecois,43岁,女性
“Sellah,Djaouida”,新民主党,魁北克省,30岁,女性
“利斯圣丹尼斯”,魁北克省新德里市,72岁,女性
“Fry,Hedy”,自由派,不列颠哥伦比亚,71岁,女性
“Turmel,Nycole”,新民主党,魁北克省,70岁,女性
“Sgro,Judy”,自由派,安大略省,68岁,女性
“雷诺尔,弗朗辛”,魁北克国家民主党,67岁,女性
“戴维森,帕特里夏”,保守派,安大略省,66岁,女性
错误:
页面呈现:
您的代码最终呈现为
alert(some text,
some more text,
and more);
var test = some text,
some more text,
and more;
这对于文本没有用引号括起来的情况是无效的。即使用引号将其包装,javascript也不支持多行字符串(除非最后转义)
因此,您需要转义反斜杠,以便保留新行,然后在js字符串中进行解析。并将输出用引号括起来
//...
csv = csv + text +"\\n";
//...
alert("<%= csv %>");
var test = "<%= csv %>";
/。。。
csv=csv+text+“\\n”;
//...
警报(“”);
var检验=”;
由于您的csv文件也包含双引号,您可以执行以下两种操作之一
用单引号换行
alert('<%= csv %>');
var test = '<%= csv %>';
警报(“”);
var检验='';
但是csv文件中也可能有单引号,并且会触发相同的错误,所以要做的另一件事就是在输出csv文件之前转义csv文件中的双引号
<% csv.replace("\"","\\"");
alert("<%= csv %>");
var test = "<%= csv %>";
1)始终记录异常2)不要将脚本放在JSPB中,但是换行符在cvs文件中不是很重要吗?否则您不知道行的结束位置。我的意思是,我想你可以把,
上的整个字符串分成大小为5的块…这应该可以解决它,只需要保留新行,以便在js字符串中使用它。我已经按照@patrick evans建议的方式做了,但仍然不起作用same@Mayur,您是否可以编辑您的问题以显示您是如何实施的,还有可能是实际渲染的源