将Maven配置文件信息带到jsp

时间:2018-06-26 08:28:58

标签: spring maven jsp maven-profiles

我在pom.xml上具有如下的maven属性

pom.xml

    <profile>
        <id>local</id>
        <properties>
            <env>local</env>

        </properties>

    </profile>
    <profile>
        <id>dev</id>
        <properties>
            <env>dev</env>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <env>prod</env>
        </properties>
    </profile>
</profiles>

如果我想从jsp获得什么env值 我该怎么办? 我想使用

这样的值
<c:when test=env=='local'>
</c:when>
<c:when test=env=='dev'>
</c:when>
<c:when test=env=='env'>
</c:when>

1 个答案:

答案 0 :(得分:0)

您需要使用maven resource filtering,其工作原理如下:

在src / main / resources中创建build.properties,例如:

env=${env}

然后将资源过滤器添加到pom

<properties>
    <java.version>1.8</java.version>
    <env>prod</env>
</properties>

<build>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

</build>

构建完成后,属性将如下所示:

greg@greg-XPS-13-9360:~/work/jsp-example$ cat target/classes/build.properties 
env=prod

对于example我使用的是Spring boot,您可以按常规方式将它们注入JSP。

请注意,如果您使用Spring Boot,则build.properties的格式应为

greg@greg-XPS-13-9360:~/work/jsp-example$ cat src/main/resources/build.properties 
env=@env@