Я хотел бы интегрировать Ice Push в свое веб-приложение.
У меня есть страница (placeinfo.jsf), показывающая информацию о месте, и пользовательский интерфейс: включите weather.jsf для информации о погоде этого места.
Пользователи получают доступ к странице в http://xxx.com/xxx/placeinfo.jsf?place=california.
Простой пример кода,
placeinfo.jsf
1) лед: выходное значение = "placeInfoBean.population"
2) лед: выходное значение = "placeInfoBean.language"
3) пользовательский интерфейс: include src = "./ weather.xhtml"
weather.jsf
1) лед: выходное значение = "weatherBean.humidity"
2) лед: выходное значение = "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));
}
}
WeatherBean.java
@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 снова выполнил обновление, метод постконстрасту, но обнаружил, что нет параметра запроса «place», предполагающего «california», и страница не работает должным образом.
Вопрос:
1) Могу ли я знать, кроме сессии, как страница запоминает значение до того, как PushRenderer что-то сделал?
2) Это правильный способ получить параметр запроса для WeatherBean?
или запрос param должен быть передан с помощью ui: param из placeInfo.jsf?
Как получить значение ui: param в WeatherBean?
Спасибо!