Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 注释属性RequestMapping.value的值必须是常量表达式_Java_Spring Mvc_Url Routing - Fatal编程技术网

Java 注释属性RequestMapping.value的值必须是常量表达式

Java 注释属性RequestMapping.value的值必须是常量表达式,java,spring-mvc,url-routing,Java,Spring Mvc,Url Routing,使用以下代码段时: 公共类myurl{ //使用静态{…}初始化属性 公共最终静态字符串URL_HOMEPAGE=properties.getProperty(“app.HOMEPAGE”); } @控制器 公共类主页控制器{ @请求映射(myurl.URL\u主页) 公共字符串主页(){ 返回“/主页/索引”; } } 我得到以下错误: 注释属性RequestMapping.value的值必须是常量表达式 但事实上,URL\u HOMEPAGE确实是一个常量,因为它被声明为public f

使用以下代码段时:

公共类myurl{
//使用静态{…}初始化属性
公共最终静态字符串URL_HOMEPAGE=properties.getProperty(“app.HOMEPAGE”);
}
@控制器
公共类主页控制器{
@请求映射(myurl.URL\u主页)
公共字符串主页(){
返回“/主页/索引”;
}
}
我得到以下错误:

注释属性RequestMapping.value的值必须是常量表达式

但事实上,
URL\u HOMEPAGE
确实是一个常量,因为它被声明为
public final static
。我错了吗?如何解决此问题?

它是一个常量,但在初始化请求映射后初始化。 您正在调用
properties.getProperty(“app.homepage”)
当类加载器加载您的类时,URL\u主页尚未初始化,因此出现错误。

您需要提供一个初始化字符串作为参数,例如“/path/subpath”

虽然
URL\u HOMEPAGE
是一个常量,但其值可能不是,只能在运行时确定。我相信注释中使用的值在编译时必须是可解析的