我想让我的 Spring 应用程序中的请求映射动态化。这样我的网址就无法理解了。而且我可以向用户展示任何毫无意义的东西,并且仍然可以解决映射目的。
为此,我将 URL 的动态部分存储在属性文件中。并想在@RequestMapping
注释中使用它。同样的事情将在 JSP 中的客户端完成。我将从属性文件中读取值,然后创建 href。
我正在使用@Value
注释来读取属性文件值。
有一个类将所有这些值保存在最终静态变量中。
public class UrlMappingAbstraction {
public static final @Value("#{urlAbstractionProperties['url.message']?:'message'}") String MESSAGE = "";
}
我正在我的控制器中扩展这个类,并使用@RequestMapping 注释中的静态最终字段,如下所示。
@RequestMapping(value="/"+MESSAGE+"/{id}", method=RequestMethod.GET)
在jsp中,我也在使用href从属性文件中读取值<spring:message/>
并生成url。
问题是 jsp 能够根据属性文件值创建正确的 url,但在 @RequestMapping 注释中我的值没有被替换。
谁能告诉我确切的问题?我知道我们不能在初始化后更改静态最终变量的值。那么@Value注解有什么用。
如果这可以通过其他方式完成,那么你也可以给我看。
提前致谢。