读取JSP

时间:2015-09-18 14:36:30

标签: java jsp spring-mvc properties

我正在使用Spring v4.1.7-RELEASE。我有一些复杂的后端代码从路径加载属性文件。

我添加了一个新属性,我可以看到我可以使用@Value($ {some-property})读取它的值

@Value(value="${some-property}")
private String someProperty;

现在我想将此值传递给JSP。具有上述属性的java代码无权访问ServletContext,HttpServletRequest或HttpSession。简而言之,我们支持吐出JSON,因为它们公开了REST API。

我怎样才能完成这项工作?

2 个答案:

答案 0 :(得分:0)

您可以使用spring表达式语言直接在jsp上读取属性文件中的值。

添加如下所示的util配置,并从jsp中读取它。

<util:properties id="propertyConfig" location="classpath:conf/sample.properties"/>

<spring:eval expression="@propertyConfig['propertyname']" />

答案 1 :(得分:0)

我意识到我的JSP不在Servlet上下文中,因此无法使用Spring标记库读取属性文件。要在Servlet Context中获取它,需要在main-servlet.xml中添加ViewResolver,或者在web.xml中添加servlet的名称(DispatcherServlet)。

我的工作是直接读取JSP中的属性文件,如下所示:

<%

FileInputStream fis = new FileInputStream("/etc/path/some.properties");
Properties prop = new Properties();


try {
   prop.load(fis);
} 
catch (IOException e) {
    e.printStackTrace();
}

String someId = prop.getProperty("some.demo.id");
%>