Jakarta ee 在Roo中设置未捕获异常处理程序的响应状态

Jakarta ee 在Roo中设置未捕获异常处理程序的响应状态,jakarta-ee,spring-mvc,spring-roo,jspx,Jakarta Ee,Spring Mvc,Spring Roo,Jspx,我有一个带有标准mvc设置的Roo应用程序 若我从我的控制器抛出异常,我会在客户端得到很好的堆栈跟踪和状态代码200 我发现它是由web.xml中定义的错误页面处理的,如下所示: <error-page> <exception-type>java.lang.Exception</exception-type> <location>/uncaughtException</location> </error-page&

我有一个带有标准mvc设置的Roo应用程序

若我从我的控制器抛出异常,我会在客户端得到很好的堆栈跟踪和状态代码200

我发现它是由
web.xml
中定义的错误页面处理的,如下所示:

<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/uncaughtException</location>
</error-page>
如何将响应代码更改为不同于200的代码


是否可以在
uncaughtException.jspx
中以某种方式设置它?

通过在
org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
上设置
defaultStatusCode
来解决这个问题

例如:

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" p:defaultErrorView="uncaughtException">
    <property name="exceptionMappings">
        <props>
            <prop key=".DataAccessException">dataAccessFailure</prop>
            <prop key=".NoSuchRequestHandlingMethodException">resourceNotFound</prop>
            <prop key=".TypeMismatchException">resourceNotFound</prop>
            <prop key=".MissingServletRequestParameterException">resourceNotFound</prop>
        </props>
    </property>
    <property name="defaultStatusCode">
        <value>500</value>
    </property>
</bean>

数据访问失败
未找到资源
未找到资源
未找到资源
500

有关于此错误的提示吗<代码>与元素类型“bean:bean”关联的属性“p:defaultErrorView”的前缀“p”未绑定。
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" p:defaultErrorView="uncaughtException">
    <property name="exceptionMappings">
        <props>
            <prop key=".DataAccessException">dataAccessFailure</prop>
            <prop key=".NoSuchRequestHandlingMethodException">resourceNotFound</prop>
            <prop key=".TypeMismatchException">resourceNotFound</prop>
            <prop key=".MissingServletRequestParameterException">resourceNotFound</prop>
        </props>
    </property>
    <property name="defaultStatusCode">
        <value>500</value>
    </property>
</bean>