在我的应用程序中,我想在应用程序启动时存储列表数据,我想在需要时在jsp页面上获取它。我已将bean
定义如下
<beans:bean id="systemService" class="com.mycompany.System" init-method="setMasterList" lazy-init="false"/>
component
如下
@Controller
@Component("system")
@Scope(WebApplicationContext.SCOPE_GLOBAL_SESSION)
public class System
{
public Map<Integer, String> masterList = new HashMap<Integer, String>();
public Map<Integer, String> populateMasterList()
{
masterList.put(1, "About US");
masterList.put(2, "About US");
return masterList;
}
public Map<Integer, String> getMasterList()
{
return masterList;
}
public void setMasterList()
{
this.masterList = populateMasterList();
}
}
我正在尝试在jsp上检索此主列表。我试图在jsp上访问它,如下所示
Master : ${system.masterList}
但是在jsp上它显示为空白。我也尝试使用Scope @Scope(WebApplicationContext.SCOPE_SESSION)
。但是没能成功。
答案 0 :(得分:0)
试试这个:
<beans:bean id="systemService" class="com.mycompany.System" init-method="populateMasterList" lazy-init="false" scope="application"/>
并从System类中删除所有注释。
public class System
{
...
}
在jsp中,使用
${systemService.masterList[1]}
在视图解析器中,添加
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
...
...
<property name="exposeContextBeansAsAttributes" value="true" />
</bean>