在控制器请求方法结束时,我们通常会执行以下操作:
modelAndView.setViewName("welcomePage");
return modelAndView;
或者
return "welcomePage";
尽管这种方式简单高效,但我是唯一一个发现这些“魔术字符串”错误的人吗?
同一个“welcomePage”字符串可以在同一个类或其他类中多次使用,从而打破了“不要重复自己”的原则。此外,如果我碰巧重命名了“welcomePage.jsp”,我将不得不将项目中所有出现的“welcomePage”全部替换掉。
想到的第一个解决方案是将这些(可能是共享的)字符串转换为(可能是集中的)常量或枚举。但我不确定这是使用 Spring MVC 的方式。
您如何看待这些“魔术字符串”?Spring MVC 是否允许以更简洁的方式返回视图?如果没有,您会推荐什么解决方案?