2016-08-22 4 views
1

Я стажер java-dev, и это мой первый вопрос здесь, пожалуйста, не судите меня!Сбросить контроллер с другой весной

У меня есть класс контроллера, который работает с файлами jsp. Первый jsp (userinput.jsp) имеет 3 текстовых поля (lat, lon, radius) и 2 кнопки (отправить, применить значения по умолчанию). Второй jsp - это просто таблица HTML, заполненная данными (зависит от пользовательского ввода) и кнопка сброса, которая должна вернуть вас на стартовую страницу (userinput.jsp) и удалить все существующие данные. Как мне это сделать?

Бонусный вопрос: если я попытаюсь обновить страницу во втором состоянии (таблица html), браузер генерирует предупреждение, в котором говорится, что я потеряю все данные, и я не должен обновлять. Как я могу избавиться от этого?

@Controller 
@EnableAutoConfiguration 
class SpringBootController implements InitLogger { 

    @GetMapping(value="/geohash") 
    public String getUserInput(ModelMap model) { 
     model.put("command", new Tuple()); 
     return "UserInput"; 
    } 

    @PostMapping(value="/geohash", params="SubmitWithDefault") 
    public String defaultUserInput(ModelMap model) { 
     model.put("command", tupleFill (48.104564, 20.800041, 6)); 
     return "UserInput"; 
    } 

    @PostMapping(value = "/geohash", params="Submit") 
    public String printHash(@ModelAttribute("user")Tuple tuple,ModelMap model) { 
     GetData.setLat1(tuple.getFirstCoordinate()); 
     GetData.setLon1(tuple.getSecondCoordinate()); 
     GetData.setRad1(tuple.getRadius()); 

     LocationExecute.calculate(); 
     model.addAttribute("geoItemList", LocationExecute.getTupleList()); 
     model.addAttribute("listSize", LocationExecute.getTupleList().size()); 
     return "Geohash"; 
    } 

    @PostMapping(value = "/geohash", params="reset", method = RequestMethod.GET) 
    public ModelAndView method() { 
     return new ModelAndView("redirect:geohash"); 

    } 
} 

userinput.jsp - кнопки

<input type="submit" name="Submit" value="Submit" style="height:25px; width:100px"/> 
<input type="submit" name="SubmitWithDefault" value="Default Values" style="height:25px; width:100px"> 

geohash.jsp - (HTML таблица) Кнопка сброса

<input type="reset" name="reset" value="Reset" style="height:30px; width:100px"> 

ответ

0

Решено это следующим образом:

geohash.jsp (добавлена ​​форма: форма теги)

<form:form action="/geohash"> 
    <th> <input type="submit" name="reset" value="Reset" style="height:30px; width:100px"> </th> 
    </form:form> 

контроллер (изменить способ публикации)

@RequestMapping(value = "/geohash", params="reset", method = RequestMethod.POST) 
public ModelAndView method() { 
     return new ModelAndView("redirect:geohash"); 
} 
0

Вы должны реализовать PRG (Post -Redirect- Получить) шаблон дизайна в MVC для решения проблемы. Перейди через ниже для получения дополнительной информации http://www.c-sharpcorner.com/UploadFile/dacca2/implement-prg-pattern-in-mvc-architecture/

Так вместо возвращения имя вида переадресовать его так что ваша проблема будет решена, если вы хотите, чтобы некоторые данные, которые будут отправлены для перенаправления метод затем использовать flashAttributes весны

Смежные вопросы