从servlet到gwt应用程序中的jsp打印错误消息

时间:2013-04-12 10:32:01

标签: jsp java-ee servlets

从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/>");    
    }    
%>

1 个答案:

答案 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。