我有一个primefaces(版本3.4.2)滑块和一个inputText用于滑块值的输出值。 问题是滑块的更改会更新inputText的显示值,但不会调用与inputText的setter绑定。
这是我的滑块:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:a4j="http://richfaces.org/a4j">
<h:head>
<title>Zinsrechner</title>
</h:head>
<h:body>
<h:form>
<h:panelGrid columns="1" style="margin-bottom:10px">
<p:inputText id="x" value="#{zinsrechner.monatlicherBeitrag}" />
<p:slider minValue="0" maxValue="150" for="x" />
</h:panelGrid>
</h:form>
</h:body>
</html>
这是我的Setter,不叫:
public void setMonatlicherBeitrag( Double beitrag ) {
monatlicherBeitrag = beitrag;
}
Getter IS被称为:
public Double getMonatlicherBeitrag() {
return GuiParameter.getSpareinlageProMonat();
}
答案 0 :(得分:10)
在Slider中添加<p:ajax>
即可。
示例:
<p:slider minValue="0" maxValue="150" for="x">
<p:ajax event="slideEnd" process="x" />
</p:slider>
答案 1 :(得分:2)
我遇到了同样的问题,但在我的情况下,问题是我将vector<int> new_inds(arma_inds.size());
for (int i = 0; i < new_inds.size(); i++) new_inds[arma_inds[i]] = i;
标签设置为只读。我删除了该属性,一切正常。