无法读取JSP中的属性值

时间:2011-04-20 15:35:51

标签: jsp spring-mvc el

我在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}工作?

1 个答案:

答案 0 :(得分:6)

您的EL语法不太正确。试试这个:

${props['test.url']}

${props.url}语法的工作原理是为了解决映射内容的方便语法,就好像它是javabean属性一样,但是当映射键本身包含.时它不起作用,在这种情况下,您应该使用上面显示的完整地图查找语法。