我是servlets的初学者。我有一个问题,看到这个代码写在servlet中。如果有人解释我在这里使用了很多“我会很感激
"<form method=\"post\" action =\"" + request.getContextPath( ) +
"/firstservlet\" >");
out.println("<table border=\"0\"><tr><td valign=\"top\">");
out.println("Your first name: </td> <td valign=\"top\">");
out.println("<input type=\"text\" name=\"firstname\" size=\"20\">");
out.println("</td></tr><tr><td valign=\"top\">");
out.println("Your last name: </td> <td valign=\"top\">");
out.println("<input type=\"text\" name=\"lastname\" size=\"20\">");
out.println("</td></tr><tr><td valign=\"top\">");
out.println("Your email: </td> <td valign=\"top\">");
out.println("<input type=\"text\" name=\"email\" size=\"20\">");
out.println("</td></tr><tr><td valign=\"top\">");
out.println("<input type=\"submit\" value=\"Submit Info\"></td></tr>");
out.println("</table></form>");
out.println("</body></html>");
答案 0 :(得分:17)
您必须通过编写"
来转义字符串中的引号\"
。如果你不这样做,字符串将会过早结束。
修改:示例:
String thisWillNotCompile = "This String terminates right now" and not later";
尝试编译它会给你一个语法错误。
String thisWillCompile = "This String doesn't terminate right now\" but now";
这很有效。
修改2 :有关详细信息,请阅读Escape Sequences in the Java Tutorial。
答案 1 :(得分:1)
表示字符"
不是标记字符串结尾的特殊字符,但它是字符串的一部分。
答案 2 :(得分:1)
\
在编程语言中称为转义字符。你用它来逃避一些特殊的角色。例如,如果要打印名为
Hello " World
如果指定
system.out.println("Hello " World"); // Sorry Error :(
这会产生错误,因为"
是一个特殊字符。所以你需要通过添加
system.out.println("Hello \" World"); // It works :)