Проверьте добавленную маркировку в gmap с помощью простых лиц jsf

Я новичок в jsf, я использую gmap в jsf, чтобы получить длинную лату

    <f:view contentType="text/html">        
        <p:gmap id="gmap" center="41.381542, 2.122893" zoom="15" type="ROADMAP"   
style="width:600px;height:400px"  
model="#{restaurant.emptyModel}"   
onPointClick="handlePointClick(event);"/> </f:view>

Как я могу показать сообщение «Пожалуйста, добавьте маркер», когда пользователь не добавил маркер. Спасибо за помощь


person Do Thanh Tung    schedule 18.09.2013    source источник
comment
как я вижу, здесь хороший пример праймфейса, который показывает, как добавить маркер и вы можете сохранить состояние (добавлено или нет) в некоторой переменной   -  person Darka    schedule 18.09.2013
comment
@Darka: я читал это раньше, но у меня есть только кнопка отправки (h: commandButton), и я хочу показывать сообщение при нажатии кнопки без добавления маркера.   -  person Do Thanh Tung    schedule 18.09.2013


Ответы (1)


В следующем примере, предложенном Darka, вам необходимо поместить такой код в метод действия вашей кнопки:

public void buttonClick() {
    if (emptyModel.getMarkers().isEmpty()) {
        addMessage(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error!", "You didn't placed a marker!"));
    }
}

public void addMessage(FacesMessage message) {
    FacesContext.getCurrentInstance().addMessage(null, message);
}

Также убедитесь, что вы добавили атрибут update="messages" к своей кнопке на странице JSF.

Краткое пояснение: если пользователь не будет размещать маркер, emptyModel.getMarkers() должен вернуть пустой список маркеров. Затем, если он действительно пуст, вы добавляете сообщения о лицах. Обновление гроула обеспечит отображение сообщения об ошибке в правом верхнем углу страницы.

Надеюсь это поможет. Ваше здоровье!

person greenskin    schedule 24.09.2013
comment
Я добавил его в свой исходный код, но в h:commandButton есть такая ошибка: Method must have signature "String method(), String method(), String method(String), String method(String, String), String method(String, String, String), String method(String, String, String, String), String method(String, String, String, String, String), String method(String, String, String, String, String, String), String ...but has signature "void method()" - person Do Thanh Tung; 25.09.2013
comment
Возможно, это поможет: stackoverflow.com/questions/8083469/ - person greenskin; 25.09.2013
comment
Я не хочу, чтобы это сообщение об ошибке отображалось в виде html-текста, что мне делать? Спасибо - person Do Thanh Tung; 25.09.2013