我想从servlet打印。我相信我的语法正确。但是我在Eclipse中收到消息“删除这些令牌”。

    PrintWriter out = response.getWriter();
    out.println("<html><head><title>Woohoo</title></head><body>\n" +

            "<form id="report_form" name="report_form" method="post" action="AgReportServlet">\n"+
            "<table border="0" cellspacing="0" cellpadding="8">\n"+
                "<tr>\n"+
                "   <td><label>Start Date<br />\n"+
                "   <select name="start_date" id="start_date">\n"+
                "       <option value="2000">2000</option>\n" +
                "       <option value="2001">2001</option>\n" +
                "       <option value="2002">2002</option>\n" +
                "       <option value="2003">2003</option>\n" +
                "       <option value="2004">2004</option>\n" +
                "   </select> </label></td>\n"+
                "   <td>End Date<br />\n"+
                "   <select name="end_date" id="end_date">\n"+
                "       <option value="2000">2000</option>\n"+
                "       <option value="2001">2001</option>\n"+
                "       <option value="2002">2002</option>\n"+
                "       <option value="2003">2003</option>\n"+
                "       <option value="2004">2004</option>\n"+
                "   </select></td>\n"+
                "   <td><label>Agricultural Zone<br />\n"+
                "   <select name="ag_zone" id="ag_zone">\n"+
                "       <option value="1">Zone 1</option>\n"+
                "       <option value="2">Zone 2</option>\n"+
                "       <option value="3">Zone 3</option>\n"+
                "       <option value="4">Zone 4</option>\n"+
                "       <option value="5">Zone 5</option>\n"+
                "   </select> </label></td>\n"+
                "   <td><label>Locality<br />\n"+
                "   <select name="locality" id="locality">\n"+
                "       <option value="here">There</option>\n"+
                "       <option value="there">There</option>\n"+
                "   </select> </label></td>\n"+
                "   <td><label><br />\n"+
                "   <input type="submit" name="submit" id="submit" value="Submit" /> </label></td>\n"+
                "</tr>\n"+
        "   </table>\n"+
        "   </form>\n"+
        "</body>\n"+
        "</html>"
            );
    out.flush();
    out.close();


堆栈跟踪如下:
java.lang.Error:未解决的编译问题:
    令牌上的语法错误,请删除这些令牌
    令牌上的语法错误,请删除这些令牌
    令牌上的语法错误,请删除这些令牌
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2000”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2001”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2002”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2003”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2004”的语法错误,[预期
    令牌上的语法错误,请删除这些令牌
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2000”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2001”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2002”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String
    令牌“ 2003”的语法错误,[预期
    表达式的类型必须是数组类型,但解析为String

等等等

最佳答案

您在字符串中加上双引号,例如:

"<form id="report_form"...


您需要逃脱它们:

"<form id=\"report_form\"...


或在HTML中使用单引号:

"<form id='report_form'...

10-06 14:04