我正在使用SpringV4.1.7-版本。我得到了一些复杂的后端代码,从路径加载属性文件。
我添加了一个新属性,我可以看到我可以使用@ value (${})读取它的值。
@Value(value="${some-property}")
private String someProperty;现在,我想将这个值传递给JSP。具有上述属性的java代码无法访问ServletContext、HttpServletRequest或HttpSession。简而言之,由于JSON公开了REST,所以我们提供了JSON。
我怎么才能完成这件事?
发布于 2015-09-21 16:16:14
我意识到JSP不在Servlet上下文中,因此它无法使用Spring标记库读取属性文件。要在Servlet上下文中获得它,需要将ViewResolver添加到主-servlet.xml或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");
%>发布于 2015-09-18 16:09:39
您可以使用spring表达式语言直接从jsp上的属性文件中读取值。
添加如下所示的util配置,并从jsp中读取它。
<util:properties id="propertyConfig" location="classpath:conf/sample.properties"/>
<spring:eval expression="@propertyConfig['propertyname']" />https://stackoverflow.com/questions/32654657
复制相似问题