0
我有一个页面,其中包含请求参数,然后生成信息,例如 ,例如http://example.com/xxx/weather.jsf?place=california
。 这样做的目的是让用户为链接添加书签。Iceface 2.0 commandLink部分提交不起作用
在weather.jsf,有两个的outputText和commandlink:
Humidity : <ice:outputText value="#{weatherBean.humidity}"/>
Visibility : <ice:outputText value="#{weatherBean.visibility}"/>
<ice:commandLink id="likeButton"
value="Like"
actionListener="#{weatherBean.doLike}" />
在managedBean:
@ManagedBean(name="weatherBean")
@RequestScoped
public class WeatherBean
{
String humidity;
String visibility;
int numLike;
@PostConstruct
public void init()
{
System.out.println("init called");
HttpServletRequest request= (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String place = request.getParameter("place");
setHumidity(WeatherDao.getHumidity(place));
setVisibility(WeatherDao.getVisibility(place));
setNumLike(GeneralDao.getNumLike());
}
public void doLike(ActionEvent event)
{
System.out.println("doLike called");
GeneralDao.addNumberLike();
}
}
好的,完美产生的页面。然而,当我点击doLike
commandLink, 它总是首先触发init
方法,然后调用doLike
方法。 由于请求参数为空,所有其他值都重置。 有什么办法可以防止刷新页面或调用init
方法吗? 我试过partialsubmit或立即,但没有运气。