GWT: Как мне вернуть простой текст из моего сервлета? - PullRequest
8 голосов
/ 30 ноября 2011

Я использую GWT 2.4.У меня есть форма, в которой я создаю кнопку отправки примерно так

    private Button createSaveButton() { 
            final Button saveButton = new Button("Save"); 
            saveButton.getElement().setAttribute("name", SaveXmlServlet.SAVE_BUTTON_PARAM_NAME); 
            saveButton.addClickHandler(new ClickHandler() { 
                    @Override 
                    public void onClick(ClickEvent event) { 
                            formPanel.submit(); 
                    } 
            }); 
            return saveButton; 
    }       // createSaveButton 

Я определяю обработчик onComplete для формы примерно такв виде простого текста.

            res.setContentType("text/plain"); 
            final PrintWriter out = res.getWriter(); 
            out.print(saveSucceeded); 
            out.close(); 

Однако, когда я на самом деле делаю предупреждение, оно прикрепляет «

" tags to 
the output.  For example, if the servlet outputs "true", what is 
alerted to the user is "<pre>true
».Как я могу получить это только для вывода того, что было написано в ответе?Я мог бы сделать некоторые манипуляции со строками, чтобы удалить теги "
", но похоже, что я не решаю основную проблему.Спасибо, Дэйв 

Ответы [ 3 ]

10 голосов
/ 16 августа 2012

Существует другое решение - установить тип контента на text/html.

8 голосов
/ 30 ноября 2011

Не думаю, что с этим можно что-то сделать, но обойтись без странных манипуляций с текстом легко:

public String getPlainTextResult(SubmitCompleteEvent event) {
  Element label = DOM.createLabel();
  label.setInnerHTML( event.getResults() );
  return label.getInnerText();
}
1 голос
/ 17 апреля 2012
response.setContentType("text/plain; charset=ISO-8859-2");

Попробуйте сделать это перед выходом. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...