如何在jsp中获取JAVA_OPTS值

时间:2011-03-08 15:36:26

标签: jsp environment-variables

我试图在jsp文件中获取catalina.bat中定义的JAVA_OPTS值。有人可以告诉我该怎么做。

例如:catalina.bat中的我的JAVA_OPTS定义类似于

JAVA_OPS = -DMyProjectHome = D:\ Projects

我想在运行时在jsp文件中获取MyProjectHome的值,所以我想做的是$ {MyProjectHome},但它什么也没做。

或者有没有办法在

中定义JAVA_OPTS值

请帮助我实现我的功能。

感谢。

3 个答案:

答案 0 :(得分:2)

使用-Dfoo=bar传递给JVM的内容称为系统属性。您可以使用System.getProperty()获取其价值。但是,没有标准标记或JSP EL语法来获取它们,因此您必须使用scriptlet或实现自定义标记。

答案 1 :(得分:2)

将其包含在扩展Map

的类中
public class SystemProperties extends HashMap<String, String> {

    @Override
    public String get(Object name) {
        return System.getProperty(name != null ? name.toString() : null);
    }

}

在JSP中声明如下。

<jsp:useBean id="systemProperties" class="com.example.SystemProperties" scope="application" />

然后你可以在EL中将其视为Map

${systemProperties['MyProjectHome']}

${systemProperties.MyProjectHome}

答案 2 :(得分:1)

这些是Java系统属性。您可以通过Java函数

访问它
System.getProperty("MyProjectHome");

在JSP中可能有更好的方法,但这样可行。