【问题标题】:BirtView BeanNameViewResolver with content type "text/html"内容类型为“text/html”的 BirtView BeanNameViewResolver
【发布时间】:2015-11-20 18:18:30
【问题描述】:

我正在使用 BIRT API 在 jsp 中呈现报告。 jsp 通过 javascript 和 ajax 调用以加载报告内容。我的自定义 BirtView 和 BirtEngineFactory 注册为 bean。

我的 BeanNameViewResolver 从未尝试过,因为 ContentNegotiationViewResolver 中的 InternalResourceViewResolver 在找不到匹配的 .jsp 或 .html 文件时返回 404。

是否可以让 BeanNameViewResolver 服务“text/html”而不将其 Order 设置为高于 ContentNegotationViewResolver?即,如果没有找到匹配的 .jsp 或 .html 文件,则 BeanNameViewResolver 将在返回 404 之前尝试。

【问题讨论】:

    标签: spring spring-mvc birt


    【解决方案1】:

    chaining view resolvers(请参阅链接 ViewResolvers)时,InternalResourceViewResolver 始终必须位于最后,因为它始终自动定位为链中的最后一个解析器。 因此,请确保您的 BeanNameViewResolverInternalResourceViewResolver 之前定义。

    【讨论】:

    • 它不必是最后一个,因为您可以设置它的有序属性。例如,我们的JsonViewResolver 是最后一个。我们最终选择将它放在BeanNameViewResolver 之后,因为我们找不到将InternalResourceViewResolver 放在它前面的简洁解决方案。
    猜你喜欢
    • 1970-01-01
    • 2014-03-11
    • 2014-09-17
    • 2023-03-28
    • 1970-01-01
    • 2021-11-19
    • 2020-08-06
    • 2015-04-19
    • 2020-02-24
    相关资源
    最近更新 更多