无法读取JSP中的属性值

Joh*_*nny 1 jsp el spring-mvc

我在Java 6和Spring 3.0上运行java Web应用程序.

我有Web应用程序使用的属性文件,并由服务器启动时的spring框架加载.

config.properties

url=http://www.url.com
test.url=http://www.test.com
dev.url=http://www.dev.com
Run Code Online (Sandbox Code Playgroud)

我需要在java和jsp代码中使用属性值.我可以使用spring 3.0中提供的注释访问java中的值:@Value("${test.url}")

要在JSP中使用这些属性,我试图将属性加载到servlet上下文中,以便可以直接在JSP中引用这些属性

servletContext.setAttribute("props", properties);
Run Code Online (Sandbox Code Playgroud)

在我的jsp中,当我打印时${props},会产生以下结果......

{url=http://www.url.com,test.url=http://www.test.com,dev.url=http://www.dev.com}
Run Code Online (Sandbox Code Playgroud)

但是当我打印时${props.test.url},它什么都不打印(同样适用${props.url}).

这是一个问题,还是我做错了什么.我怎样才能${props.test.url}在jsp中获得工作?

ska*_*man 6

你的EL语法不太正确.试试这个:

${props['test.url']}
Run Code Online (Sandbox Code Playgroud)

${props.url}语法的工作由于解决地图的内容,就好像是一个JavaBean属性便利的语法,但在地图密钥本身含有它不工作.,在这种情况下,你应该使用显示的完整地图,查询语法以上.