我在标记库(Java,而不是JSP片段)中编写了一些自定义标记。
其中一些依靠后端服务来返回数据。
鉴于标签将被其他开发人员使用,我想尽可能地帮助他们,例如,如果他们配置错误,或者是否存在其他问题,但我不一定希望Exceptions一路涓涓细流,给出500错误。
请注意。这不是MVC。这是针对Model-1风格的页面驱动应用程序。
在架构上,标签报告错误的最佳,推荐或建立的设计模式是什么?
答案 0 :(得分:1)
你所要求的(几乎)是不可能的,并打破了MVC原则。根据MVC原则,这就是您的工作:
如果JSP标记从不可靠的后端服务获取数据,那么它将在呈现视图时执行此操作并将HTML附加到浏览器。此时已发送HTTP响应状态(200),JSP标记抛出的异常只会使页面呈现失败。显示漂亮的错误页面或发送500错误为时已晚。
围绕它的唯一方法是在整个事物中包含一个过滤器,在内存中缓冲响应,最后发送HTML成功呈现。不过,我真的不会这样做。相反,我会坚持使用MVC:让控制器为视图准备数据,并定义将数据作为属性而不是从后端获取数据的标记。
如果后端是可靠的,但你只关心标签的错误使用(即错误),抛出一个带有明确错误消息的异常并记录它,开发人员应该能够找出问题所在是