我的页面有一个搜索按钮,带来的价格地址输入。研究结束后,我想要按住打印按钮。
<p:commandButton value="#{msg['btn-search']}"
styleClass="btn btn-primary" onclick="codeAddress()" />
<p:remoteCommand actionListener="#{searchBean.addMarker()}"
name="consultaValor"
update="bandeira1, bandeira2,bandeira1Value, bandeira2Value,origemInfo,addressInfo"/>
<p:commandButton id="print" value="Imprimir" styleClass="btn btn-primary" rendered="#{searchBean.print.booleanValue()}" >
<p:printer target="information" />
</p:commandButton>
我试图使用接收我的搜索bean的布尔值的呈现属性,但没有工作,有人可以帮助我吗?
private Boolean print = false;
public Boolean getPrint() {
return print;
}
public void setPrint(Boolean print) {
this.print = print;
}
public void addMarker() {
Marker marker = new Marker(new LatLng(lat, lng),address);
emptyModel.addOverlay(marker);
result = true;
String wktFilter = "POINT("+getLng()+" "+getLat()+")";
findByWKT(wktFilter);
print = true;
}
addMarker方法由搜索按钮调用,然后它将布尔值变为true,但不工作。
你的后台bean基本没问题,你只需要修改你的前端页面。
就像@mabi, @rion18和@Jaqen H'ghar说的,你应该:
- 移除
booleanValue()
- 用
commandButton
的onclick
呼叫remoteCommand
- 在
p:remoteCommand
上添加update="print"
- 使用
disabled
代替rendered
.(这里我使用display
.)
所以你的前端看起来像:
<p:commandButton value="btn-search" styleClass="btn btn-primary" />
<p:commandButton value="remote" onclick="consultaValor()"/>
<p:remoteCommand actionListener="#{searchBean.addMarker()}"
name="consultaValor"
update="print"/>
<p:commandButton id="print" value="Imprimir" styleClass="btn btn-primary" style="display:#{searchBean.print?'inline':'none'}" >
</p:commandButton>
请注意
- 我在你的代码中删除了一些东西,因为我不知道它们在你的代码中意味着什么(如
bandeira1,bandeira2,bandeira1Value,bandeira2Value,origemInfo,addressInfo...
), 你应该把它们添加回来如果你使用我在这里发布的代码。 - 我添加了一个
p:commandButton
,以便调用p:remoteCommand
。确保remoteCommand被调用如果你想删除我添加的按钮。