Jsf iceface 2.0:如何在icepush中保留价值?
我想将ice推送集成到我的web应用程序中 我有一个页面(placeinfo.jsf)显示一个地方的信息,ui:include weather.jsf显示该地方的天气信息 用户可以访问位于的页面 代码的简单示例,Jsf iceface 2.0:如何在icepush中保留价值?,jsf,jsf-2,icefaces,Jsf,Jsf 2,Icefaces,我想将ice推送集成到我的web应用程序中 我有一个页面(placeinfo.jsf)显示一个地方的信息,ui:include weather.jsf显示该地方的天气信息 用户可以访问位于的页面 代码的简单示例, placeinfo.jsf 1) ice:output value=“placeInfoBean.population” 2) ice:output value=“placeInfoBean.language” 3) ui:include src=“./weather.xhtml” w
placeinfo.jsf
1) ice:output value=“placeInfoBean.population”
2) ice:output value=“placeInfoBean.language”
3) ui:include src=“./weather.xhtml”
weather.jsf
1) 冰:输出值=“weatherBean.湿度”
2) ice:output value=“weatherBean.visibility”
PlaceInfoBean.java
@ManagedBean(name="placeInfoBean")
@RequestScoped
public class PlaceInfoBean
{
String population;
String language;
@PostConstruct
public void init()
{
HttpServletRequest request= (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String place = request.getParameter("place");
setPopulation(PlaceInfoDao.getPopulation(place));
setLanguage(PlaceInfoDao.getlanguage(place));
}
}
@ManagedBean(name="weatherBean")
@RequestScoped
public class WeatherBean
{
String humidity;
String visibility;
@PostConstruct
public void init()
{
HttpServletRequest request= (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String place = request.getParameter("place");
setHumidity(WeatherDao.getHumidity(place));
setVisibility(WeatherDao.getVisibility(place));
}
public WeatherBean()
{
PushRenderer.addCurrentSession("weather");
}
}
WeatherBean.java@ManagedBean(name="placeInfoBean")
@RequestScoped
public class PlaceInfoBean
{
String population;
String language;
@PostConstruct
public void init()
{
HttpServletRequest request= (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String place = request.getParameter("place");
setPopulation(PlaceInfoDao.getPopulation(place));
setLanguage(PlaceInfoDao.getlanguage(place));
}
}
@ManagedBean(name="weatherBean")
@RequestScoped
public class WeatherBean
{
String humidity;
String visibility;
@PostConstruct
public void init()
{
HttpServletRequest request= (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String place = request.getParameter("place");
setHumidity(WeatherDao.getHumidity(place));
setVisibility(WeatherDao.getVisibility(place));
}
public WeatherBean()
{
PushRenderer.addCurrentSession("weather");
}
}
我有另一个页面来更新天气,该方法调用PushRenderer.render(“天气”)
WeatherBean实际上重新运行了一个refresh,postconstrust方法,但发现没有假定为“california”的“place”请求参数,并且页面无法正常工作。
问题:
1) 除了会话之外,页面在执行操作之前如何记住值?
2) 获取WeatherBean的请求参数是否合适?
或者请求参数应该由ui:param从placeInfo.jsf传递?
如何在WeatherBean中获取ui:param的值
谢谢大家! 您是否尝试将托管bean设置为@SessionScoped?或者@ApplicationScoped?它起作用了吗