我在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
我需要在java和jsp代码中使用属性值。我可以使用spring 3.0中提供的注释访问java中的值:@Value("${test.url}")
要在JSP中使用属性,我试图将属性加载到servlet上下文中,以便可以直接在JSP中引用属性
servletContext.setAttribute("props", properties);
在我的jsp中,当我打印${props}
时,会产生以下结果......
{url=http://www.url.com,test.url=http://www.test.com,dev.url=http://www.dev.com}
但是当我打印${props.test.url}
时,它没有打印任何内容(同样适用于${props.url}
)。
这是一个问题,还是我做错了什么。如何在jsp中获得${props.test.url}
工作?
答案 0 :(得分:6)
您的EL语法不太正确。试试这个:
${props['test.url']}
${props.url}
语法的工作原理是为了解决映射内容的方便语法,就好像它是javabean属性一样,但是当映射键本身包含.
时它不起作用,在这种情况下,您应该使用上面显示的完整地图查找语法。