如何在JSF中模糊事件后刷新组件

时间:2013-04-29 11:20:37

标签: google-maps jsf jsf-2 gmaps4jsf

我正在使用gmaps4jsf在我的应用中显示Google地图,但我希望在用户输入他/她的范围,城市,州和国家后更新地图。通过这种方式,我可以动态地向gmaps4jsf提供更准确的信息。

但是每当我填写一些字段时,地图就会消失。我正在使用state

这样做
State:<h:message id="m_state" for="state" styleClass="red" /><br/>
<h:selectOneMenu id="state" value="#{propertyC.property.addressState.state}">
    <f:selectItem itemLabel="" itemValue=""  />
    <f:selectItems value="#{addressB.states('US')}" var="state" itemValue="#{state.key}" itemLabel="#{state.value}" />
    <f:ajax event="blur" render="m_state map" />
</h:selectOneMenu>
<br/>

 // others fields    

<m:map id="map" width="425px" height="250px" address="#{propertyC.property.street}, #{propertyC.property.addressCity.city}, #{propertyC.property.addressState.state}, #{propertyC.property.addressCountry.country}, #{propertyC.property.cep}" zoom="25" autoReshape="true" >
    <m:marker>
        <m:icon imageURL="http://i.imgur.com/WFJo62Q.png"/>
    </m:marker>
</m:map>

当用户输入他/她的地址时,如何动态显示地图?

2 个答案:

答案 0 :(得分:2)

是的,为了使用Ajax动态更改地图内容,您需要将partiallyTriggered属性设置为true。

检查使用GMaps4JSF 3.0.0的JSF Mashup混音演示,了解如何使用Ajax更新地图内容:
http://www.mashups4jsf.com/gmaps4jsf-examples2-3.0.0/pages/theater2.xhtml

这也是演示源代码:
http://www.mashups4jsf.com/gmaps4jsf-examples2-3.0.0/pages/theater2.xhtml.source

答案 1 :(得分:1)

尝试设置以下属性:partiallyTriggered="true"。 如果您使用的是ajaxfied数据提交,这将允许部分呈现。