为什么在这段代码中有这么多“...”它的用法是什么......?

时间:2012-02-02 09:28:34

标签: java servlets

我是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>");

3 个答案:

答案 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 :)