0

在 gwt 应用程序中将错误消息从 servlet 打印到 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" %>     

根据上面的代码,如果我的分支 id 不存在于 objectify 数据存储中,则 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/>");    
    }    
%>
4

1 回答 1

0

在小服务程序中:

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。

于 2013-04-18T10:26:58.270 回答