2014-10-31 16 views
5

Mam formularz w Bootstrap Modal i chcę, aby mój kontroler Spring MVC tego słuchał. Mój problem polega na tym, że modal nie generuje href, ponieważ znajduje się on w aktualnej stronie, więc nie mogę zmapować tylko modala w moim kontroleru Spring MVC.Jak mapować Bootstrap Modal na Spring MVC controller

Potrzebuję go, ponieważ chcę pokazać błędy z obiektu bindingresult. Jak mogę to zrobić?

To jest mój modal: http://www.bootply.com/zerZIYpNAF Powiedzmy, że znajduje się on w index.jsp, więc urojoną ścieżką będzie /index#myModal.jsp lub coś w tym stylu.

@RequestMapping(value="/send", method = RequestMethod.GET) 
public String get(Dummybean bean){ 
    return "??"; //index#myModal 
} 

@RequestMapping(value="/send", method = RequestMethod.POST) 
public String post(@Valid @ModelAttribute("dummy") DummyBean bean, BindingResult bindingResult){ 

if(bindingResult.hasErrors()){ 
     return "??"; //index#myModal 
    } 
//do something 
} 



public class DummyBean{ 


@NotNull 
private String name; 

public String getName() { 
    return username; 
} 

public void setName(String name) { 
    this.name = name; 
} 

Odpowiedz

-1

1) utworzyć nową funkcję tylko do walidacji

2) Utwórz funkcję js użyciu wolą używać jquery ajax i wysłać żądanie do funkcjonowania w kroku pierwszym.

3) zależy od statusu sprawdzania poprawności obsługi błędów lub wysłać formularz całkowicie.

proszę przeczytać ten artykuł to w pełni odpowiedział na swoje pytanie javacodegeeks.com

0

Nie można bezpośrednio połączyć się z bootstrap modalne pop-up za pomocą kontrolera. Tam nie będziesz mógł związać formy ze Źródłem. Ale możesz to osiągnąć za pomocą Ajax. Musisz używać formularza jak zwykłego formularza HTML bez używania tagów sprężynowych.

function searchAjax() { 
    var data = {} 
    data["query"] = $("#query").val(); 

    $.ajax({ 
     type : "POST", 
     contentType : "application/json", 
     url : "${home}search/api/getSearchResult", 
     data : JSON.stringify(data), 
     dataType : 'json', 
     timeout : 100000, 
     success : function(data) { 
      console.log("SUCCESS: ", data); 
      display(data); 
     }, 
     error : function(e) { 
      console.log("ERROR: ", e); 
      display(e); 
     }, 
     done : function(e) { 
      console.log("DONE"); 
     } 
    }); 
} 

Oto przykładowy ajax, aby uzyskać pomysł. Aby pobrać dane ze strony kontrolera, musisz HttpServletRequest. Powyższy przykład pochodzi z http://www.mkyong.com/spring-mvc/spring-4-mvc-ajax-hello-world-example/

Powiązane problemy