【问题标题】:Not Able to Read the property value in JSP无法读取 JSP 中的属性值
【发布时间】:2011-04-20 15:35:51
【问题描述】:

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

【问题讨论】:

    标签: jsp spring-mvc el


    【解决方案1】:

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

    ${props['test.url']}
    

    ${props.url} 语法之所以有效,是因为它使用方便的语法来处理映射的内容,就好像它是一个 javabean 属性一样,但是当映射键本身包含 . 时,它就不起作用,在这种情况下你应该使用上面显示的完整地图查找语法。

    【讨论】:

    • 非常感谢。那行得通。我仍然很惊讶......它怎么没有打动我:(
    • 当他们解决您的问题时,您应该接受答案,约翰尼!谢谢斯卡夫曼。
    猜你喜欢
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2021-02-01
    • 2013-07-19
    • 2017-02-17
    • 2023-03-11
    • 2019-09-17
    • 1970-01-01
    相关资源
    最近更新 更多