在启动 tomcat服务器时,我已经在地图中存储了来自context-param
的{{1}}值。
我希望商店地图值到 bean 并填充web.xml
。
先谢谢
答案 0 :(得分:0)
实现这一目标的一种方法是在Spring配置中使用适当的属性config设置classA:
<bean id="classA" class="some.package.ClassA">
<property name="propName" value="propValue"/>
...etc...
</bean>
然后,您可以使用exposeContextBeansAsAttributes
属性在视图解析程序配置中公开它:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="exposeContextBeansAsAttributes" value="true"/>
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
然后在任何jsp中,您可以直接访问classA bean的属性:
<c:out value="${classA.propName}"/>
答案 1 :(得分:0)
根据您的评论,您似乎只需要在模型上公开地图。使用控制器中带@ModelAttribute
注释的方法,而不是@RequestMapping
:
@Controller
public class YourController {
@Autowired
private ServletContext context;
@ModelAttribute("staticValues")
public Map<String, String> getStaticValues() {
Map<String, String> map = new HashMap<String, String>();
map.put("test1",context.getInitParameter("test1"));
map.put("test2",context.getInitParameter("test2"));
map.put("test3",context.getInitParameter("test3"));
map.put("test4",context.getInitParameter("test4"));
return map;
}
...
}
然后在jsp中你可以做到:
<c:out value="${staticValues.test1}" />
<c:out value="${staticValues.test2}" />
<c:out value="${staticValues.test3}" />
...etc...