私は、場所の要求パラメータを受け取り、次に情報を生成するページを持っています。 たとえば、http://example.com/xxx/weather.jsf?place=california
です。 これを行う目的は、ユーザーがリンクをブックマークできるようにすることです。 weather.jsfでIceface 2.0 commandLink部分送信が機能しません。
、2のoutputTextとのcommandLinkありますmanagedBeanで
Humidity : <ice:outputText value="#{weatherBean.humidity}"/>
Visibility : <ice:outputText value="#{weatherBean.visibility}"/>
<ice:commandLink id="likeButton"
value="Like"
actionListener="#{weatherBean.doLike}" />
:
@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
コマンドリンクをクリックすると、 が最初にinit
メソッドを起動し、その後doLike
メソッドを呼び出します。 要求パラメータが空であるため、他の値はすべてリセットされます。 ページの更新またはinit
メソッドの呼び出しを防止する方法はありますか? 私はpartialsubmitまたは即座に試みましたが、運はありません。