如何在servlet中实时更新(或设置)不同的jsp属性?

时间:2018-01-22 08:07:46

标签: java jsp servlets java-ee

我的JSP有几个不同的属性,我必须在执行期间设置它们。

getFormData(request);

if(formInfo.get("Type").equals("type1"))
    request.setAttribute("heading", "type1");
else
    request.setAttribute("heading", "type2");

request.setAttribute("loader", "<div class=\"loader\" id=\"loading_spinner\"></div>");
request.getRequestDispatcher("").forward(request, response);


FormValidator formValidator = new FormValidator(formInfo, request, response);
if(!formValidator.validateForm())
{
    request.getRequestDispatcher("").forward(request, response);
    return;
}

function(); //this function has soap call and can take few minutes.

if(success)           //assume success is boolean from function()
{
        System.out.println("SUCCESS");
        request.setAttribute("loader", "");
        request.setAttribute("error_message", "<h1 class=\"header-success\"> SUCCESS</h1>");
}

现在这有两个问题。

  1. 如果RequestDispatcher的任何人(即第一个)执行,则其他人不执行。 IllegalStateException: Cannot forward after response has been committed.
  2. 由于function()需要几分钟才能完成该功能(), 虽然它的RequestDispatcher已经执行,但屏幕上没有任何内容更新,甚至没有第一个属性。在function()完​​全执行之后,屏幕上才会显示任何更新。
  3. 我需要在当时和顺序进行更新,我已编码。

0 个答案:

没有答案