0

我在 Spring 应用程序上下文中有以下配置。

    <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
        <property name="props">
            <list>
                <value>file://${user.home}/myConfig.properties</value>
            </list>
        </property>
    </bean>

假设我想直接在 jsp 中显示定义为 myConfig.properties 文件中的属性的值(例如:app.url.secret)。我怎样才能做到这一点?

在此先感谢您的帮助

4

2 回答 2

0

首先使用控制器上的属性值填充模型,然后返回解析为 JSP 的视图

您可以使用@Value注释将属性注入控制器

@Controller
public class MyController {

  @Value("${app.url.secret}") private String urlSecret;

  @RequestMapping("/hello")
  public String hello(Model model) {
    model.addAttribute("urlSecret", urlSecret);

    // assuming this will resolve to hello.jsp
    return "hello";
  }
}

然后在你的 hello.jsp

<%@ page ... %>
<html>
 ...
 The secret url is: ${urlSecret}
于 2013-07-18T14:20:20.263 回答
0

您必须以某种方式将其添加到您的模型中:

一种方法是以这种方式使用 PropertyHolder:

@Component
public class PropertyHolder {

  @Value("${myprop}")
  private String myProperty;

  //getters and setters..

}

在您的控制器中:

   @Controller
   public class MyController {
      @Autowired private PropertyHolder propertyHolder;

      @ModelAttribute
      public void setModelAttributes(Model model) {
        model.put("myprops", propertyHolder);
      } 

....rest of your controller..

   }

然后你可以myprops在你的jsp中访问 -myprops.myProperty

于 2013-07-18T14:17:08.683 回答