如何在Spring MVC应用程序中读取xml资源?

时间:2012-01-24 19:24:36

标签: maven spring-mvc

我正在使用Spring MVC和Maven来构建一个Web应用程序。 我在src / main / resources下放了一个xml文件,我试图从我的Controller中读取这个文件。有人可以提供配置和代码吗?

非常感谢

2 个答案:

答案 0 :(得分:2)

在你的控制器中,创建一个org.springframework.core.io.Resource

类型的字段(作为属性,即带有getter / setter)。

在控制器的bean配置中,将该属性的值设置为Resource的路径,如下所示:

<bean id="myController" class="...">
  <property name="xmlFile" value="some/resource/path/myFile.xml"/>
</bean>

Spring将使用此配置使用Resource对象填充属性,该对象提供对具有指定路径的资源的访问。然后,该Resource对象提供了几种读取资源内容的方法,例如,的getInputStream()。

有关详细信息,请参阅http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/resources.html,尤其是第5.2和5.6章

答案 1 :(得分:1)

有两种方法可以完成这项工作:

  • 如果您有会话
  

request.getSession()。getServletContext()方法。getRealPath(...)

  • 如果你的Controller扩展了org.springframework.web.servlet.mvc.AbstractController 然后你可以打电话
getServletContext().getRealPath(...)

这样的东西:

public String processSubmit(HttpServletRequest request,@ModelAttribute("myModel") MyModer model, BindingResult result, SessionStatus status){
request.getSession().getServletContext().getRealPath(...)
}