我试图在jsp文件中获取catalina.bat中定义的JAVA_OPTS值。有人可以告诉我该怎么做。
例如:catalina.bat中的我的JAVA_OPTS定义类似于
JAVA_OPS = -DMyProjectHome = D:\ Projects
我想在运行时在jsp文件中获取MyProjectHome的值,所以我想做的是$ {MyProjectHome},但它什么也没做。
或者有没有办法在
中定义JAVA_OPTS值请帮助我实现我的功能。
感谢。
答案 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中可能有更好的方法,但这样可行。