有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何尽早停止处理JSP?

我有一个JSP页面,它调用函数并检查其返回值。如果返回值不为null,JSP页面将继续使用它。如果返回值为null,我希望停止对JSP页面的处理(这是因为函数将在返回null对象之前执行重定向。此外,JSP代码的其余部分显然使用了该对象,如果函数返回null,则会得到null指针异常)

所以我的问题是,停止JSP页面加载的正确方法是什么?我可以这样做吗:

if (Func() == null) { return; }

还是在JSP的中间使用一个返回不是更干净的方法?

谢谢


共 (3) 个答案

  1. # 1 楼答案

    不管如何提前终止JSP的处理,我建议在处理显示之前在servlet中处理流控制,并根据函数调用的结果切换到适当的JSP

    我倾向于使用JSP来显示bean(或多个bean)的内容,所有逻辑都包含在调用servlet中。通过这样做,您可以更清晰地分离组件之间的关注点,以及更易于理解和调试的系统

  2. # 2 楼答案

    自2.0以来,有一种标准方法:

    throw new javax.servlet.jsp.SkipPageException();
    
  3. # 3 楼答案

    布莱恩的回答是一个很好的建议,但它并没有清楚地回答这个问题

    答案是肯定的。大部分JSP被转换为一个方法u jspService,该方法在“执行”JSP时运行,由于它是一个常规函数,在finally块中进行清理,因此可以安全地返回