2

我正在查看一个使用外部配置文件的 Grails 项目。我有一个外部配置文件,它是一个 Java 属性文件,但我不知道这一行是做什么的:

environment.name = <%= @envname %>

做什么<%= @envname %>@envname属性设置在哪里?

4

3 回答 3

6

它在属性文件中没有任何意义。或者更准确地说,是字符串"<%= @envname %>"

它只能有一个特定的含义,如果...

  • 属性文件在加载之前以某种方式被某些东西预处理,
  • 了解该语法的自定义属性文件阅读器正在读取属性文件,
  • 属性文件正在以文本方式插入到其他文件中,而不是以正常方式加载,或者
  • 属性值被插入到该字符串有意义的其他地方。

语法看起来像一个 JSP 构造……但这可能是巧合。

更新- 根据 Nate Weldon 的回答,这是一个 GSP 结构。


作为记录,这里指定了经典的 Java 属性文件语法。没有提及<%=@或类似的任何特殊含义。

于 2012-04-28T05:06:08.990 回答
0

Well the <%= @envname %> format is how you include Java code in a JSP file.

于 2012-04-28T04:58:09.747 回答
0

Groovy 为所有可以作为属性引用的字段动态创建 getter 方法,@ 运算符允许您覆盖此行为并直接访问该字段

以下将在 gsp 页面中编写 groovy 代码。<%%>

所以如果你访问

environment.name

在 gsp 页面中。我相信它会加载

<% @envname %>

并且只是打印出 envname 的定义。

于 2012-04-28T12:12:17.320 回答