从servlet向gwt应用程序中的jsp打印错误消息
我正在使用如下jsp在我的gwt应用程序中打印错误消息。
// Servlet代码
if (validateBranchId == false) {
UserMessagesAndErrors ume = ThreadLocalObjects.
getThreadLocalUserMessagesAndErrors().get();
ume.addError("Branch Id value is not correct");
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/errors.jsp");
dispatcher.forward(req, res);
}
// Jsp代码(errors.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ page import="com.veersoft.util.ThreadLocalObjects" %>
根据上面的代码,如果objectify数据存储区中没有我的分支id,则validateBranchId为false,因此我的ume(usermessagesAndErrors)必须在jsp中打印消息,而不是在jsp中打印消息。 任何机构有想法请告诉我。
<%@ page import="com.veersoft.gwt.shared.error.UserMessagesAndErrors" %>
<%@ page import="java.util.List" %>
errors!
<%
UserMessagesAndErrors ume = ThreadLocalObjects.getUserMessagesAndErrorsObj();
List<String> errors = ume.getErrors();
for (String error : errors) {
out.println(error + "<BR/>");
}
List<String> messages = ume.getMessages();
for (String message : messages) {
out.println(message + "<BR/>");
}
%>
答案 0 :(得分:0)
在servlet中:
ume.addError("Branch Id value is not correct");
req.setAttribute("ume",ume); // add it to the request
RequestDispatcher dispatcher = ...
在jsp中:
UserMessagesAndErrors ume = (UserMessagesAndErrors) request.getAttribute("ume");
List<String> errors = ume.getErrors();
//etc
但是你应该在jsp中完全避免使用scriptlet - 使用EL。