2009-05-08 1 views
0

Я хочу печатать с сервлета. Я считаю, что у меня правильный синтаксис. Но я получаю сообщение «удалить эти токены» в 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: Нерешенные проблемы компиляции:
Синтаксис ошибку на лексемы, удалить эти маркеры
Синтаксис ошибки на лексемы, удалить эти маркеры
Синтаксис ошибку tokens, delete the tokens Тип выражения должен быть типом массива, но он разрешен для String
Ошибка синтаксиса в токене «2000», [ожидается
Тип выражения должен быть типом массива, но он разрешен для String
Синтаксическая ошибка на маркер «2001», [ожидается
тип выражения должен быть типом массива, но он решил строки
Синтаксис ошибки на маркер «2002», [ожидается
Тип выражения должен быть тип массива, но он решил строки
Синтаксис ошибки на маркер «2003», [ожидается
тип выражения должен быть типом массива, но он решил строки
Синтаксис ошибки на маркер «2004», [ожидается
Ошибка синтаксиса на токенах, удалите эти токены
Тип Выражение должно быть тип массива, но он решил строки
Синтаксис ошибки на маркер «2000», [ожидается
тип выражения должен быть типом массива, но он решил строки
Синтаксическая ошибка на маркер «2001», [ожидается
тип выражения должен быть типом массива, но он решил строки
Синтаксис ошибки на маркер «2002», [ожидается
тип выражения должен быть типом массива, но он решил строки
Синтаксическая ошибка в токене «2003», [ожидается
Тип выражения должен быть типом массива, но он решил строки

и т.д. и т.п.

+0

Полезно знать основы. Не обижайся, я твой друг. Его недостаточно, чтобы сделать это, вы должны сделать все правильно. –

ответ

2

Ты ставишь двойные кавычки внутри строки, как:

"<form id="report_form"... 

Вы должны избавиться от них:

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

или использовать одиночный цитаты в формате HTML:

"<form id='report_form'... 
+0

@Ankur: Помимо всего этого, вы создаете зло. –

0

Да, это не то, что вы хотите сделать. Вместо этого попробуйте Freemarker.