我正在使用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处理程序,如此
formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
@Override
public void onSubmitComplete(SubmitCompleteEvent event) {
Window.alert(event.getResults());
}
});
我提交表单的servlet以纯文本形式返回结果。
res.setContentType("text/plain");
final PrintWriter out = res.getWriter();
out.print(saveSucceeded);
out.close();
但是,当我实际执行警报时,它会附加“< pre>”标签到 输出。例如,如果servlet输出“true”,那么是什么 警告用户是“< pre> true< / pre>”。我怎么才能得到这个 输出写入响应的内容?我可以做一些字符串 操纵以删除“< pre>”标签,但似乎我不是 解决核心问题。 谢谢, - 戴夫
答案 0 :(得分:10)
有another solution - 将内容类型设置为text/html
。
答案 1 :(得分:8)
我认为你不能对此做任何事情,但如果没有奇怪的文字操作,它很容易解决:
public String getPlainTextResult(SubmitCompleteEvent event) {
Element label = DOM.createLabel();
label.setInnerHTML( event.getResults() );
return label.getInnerText();
}
答案 2 :(得分:1)
response.setContentType("text/plain; charset=ISO-8859-2");
在输出之前尝试这个。希望它有所帮助。