通过Java代码生成JavaScript页面时的转义字符问题?
我通过如下代码生成页面:通过Java代码生成JavaScript页面时的转义字符问题?,java,javascript,Java,Javascript,我通过如下代码生成页面: FileOutputStream fs=new FileOutputStream("C:\\Documents and Settings\\prajakta\\Desktop\\searcheng.html"); OutputStreamWriter out=new OutputStreamWriter(fs); out.write("<script language='JavaScript' type='text/javascript'>"); out.w
FileOutputStream fs=new FileOutputStream("C:\\Documents and Settings\\prajakta\\Desktop\\searcheng.html");
OutputStreamWriter out=new OutputStreamWriter(fs);
out.write("<script language='JavaScript' type='text/javascript'>");
out.write("var str=new String('C:\\Documents and Settings\\prajakta\\Desktop\\substr.html');");
out.write("var beg=str.lastIndexOf('\\');");//double' \' **Problem Stmt**
这会在查找“\”的索引时产生问题。
我应该如何写这个问题,使它包含双“\”
同样,我应该如何写一个声明
out.write("document.write('< a href='str'> '+str.slice(beg+1,end)+' </a>');");
out.write(“document.write('')+str.slice(beg+1,end)+'';”;
因此,它将在JavaScript中创建语句,如下所示:
document.write('< a href=" 'str' "> '+str.slice(beg+1,end)+' </a>');
document.write(“”+str.slice(beg+1,end)+”);
链接将转到地址存储在str
中的页面
out.write("var beg=str.lastIndexOf('\\\\');");
我们应该做到这一点。Double表示Java,Double表示JavaScript…在Java字符串文本中,反斜杠字符作为转义字符具有特殊含义。如果要表示反斜杠字符本身,则需要将其自身转义 这就是为什么Java字符串literal
“\\”
表示一个带有一个字母的字符串,该字母是反斜杠
如果要用两个反斜杠表示字符串,则需要在文本中转义这两个反斜杠:“\\\\\”
尝试以下操作:
out.write("var beg=str.lastIndexOf('\\\\\\');");
关键是“\”是Java中的转义字符,所以要有1,必须写2。要得到2,你必须写出4。同样,我应该如何写出一个陈述;以便在javascript文档中创建语句;链接将转到地址存储在strout.write(“document.write(\“\”);”)中的页面;
out.write("var beg=str.lastIndexOf('\\\\\\');");