【问题标题】:Using a class level RequestMapping Annotation to reduce URL length使用类级别的 RequestMapping 注解来减少 URL 长度
【发布时间】:2015-01-29 19:56:34
【问题描述】:

如果我使用类级别的 RequestMapping 注释,是否可以减少控制器返回语句中 URL 的长度?

我了解,如果您在控制器类中使用此代码

@Controller
@RequestMapping("/ShoppingCarCRUD/")
public class ShoppingCRUD {

    @RequestMapping(value = "add", method = RequestMethod.GET)
    public String addShop(Model model) {
        logger.info("LOG INFO ");

        return "/ShoppingCarCRUD/add";
    }

你不必在value = "add"中重复/ShoppingCarCRUD/,所以你可以把add,但是你需要把/ShoppingCarCRUD/add放在return语句中return "/ShoppingCarCRUD/add";有没有办法在return中缩短这个URL语句与value 语句中的简化方式相同

【问题讨论】:

    标签: java spring spring-mvc model-view-controller web-applications


    【解决方案1】:

    当您从使用 @RequestMapping 注释的方法返回字符串时,通常会返回视图名称,而不是 url。

    您可以在 spring 配置中配置视图解析器的前缀和后缀,以简化您返回的视图名称。

    请参阅this answer 以获取有关如何为不同控制器使用单独的视图解析器的建议

    【讨论】:

    • 我阅读了答案,但由于我有 12 个模块,这是否意味着我必须创建 12 个 12 解析器?如果我创建 12 个 12 解析器,至少在内存管理或其他方面有什么好处吗?因为如果我决定使用 1 个解析器而不是创建 12 个 12 个解析器并使我的 Web 应用程序更慢,我不会在我的控制器中放入超长的名称,但我不知道我是使用 spring 的新手,如果有任何类型创造大量解析器的好处??
    • 据我所知,使用更多解析器没有任何好处。我建议坚持使用长返回字符串和一个解析器。据我所知,这也是通常的做事方式
    • 好吧,如果除了短网址没有任何好处,那么如果使用 12 个视图解析器有什么缺点吗??
    • 在我看来,我认为需要维护 12 个解析器是一个缺点。并且在另一个类中隐藏视图的部分路径(它不是 URL)使得将来更难定位视图。
    猜你喜欢
    • 2019-01-24
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 2011-11-27
    相关资源
    最近更新 更多