我正在使用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
Run Code Online (Sandbox Code Playgroud)
我为这样的表单定义了一个onComplete处理程序
formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
@Override
public void onSubmitComplete(SubmitCompleteEvent event) {
Window.alert(event.getResults());
}
});
Run Code Online (Sandbox Code Playgroud)
我提交表单的servlet以纯文本形式返回结果.
res.setContentType("text/plain");
final PrintWriter out = res.getWriter();
out.print(saveSucceeded);
out.close();
Run Code Online (Sandbox Code Playgroud)
但是,当我实际执行警报时,它会将"<pre>"标记附加到输出.例如,如果servlet输出"true",则提醒用户的是"<pre> true </ pre>".如何只输出写入响应的内容?我可以做一些字符串操作来删除"<pre>"标签,但这似乎我没有解决核心问题.谢谢, - 戴夫
我不认为你可以做任何事情,但没有奇怪的文本操作很容易解决:
public String getPlainTextResult(SubmitCompleteEvent event) {
Element label = DOM.createLabel();
label.setInnerHTML( event.getResults() );
return label.getInnerText();
}
Run Code Online (Sandbox Code Playgroud)