Добавить значение строки запроса при запуске html-страницы из Java Controller - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть HTML-страница, которая запускается из контроллера Java после публикации, и я хочу прикрепить значение строки запроса в URL ex: (localhost: 8000 / gdata? Id = 11).Можно ли это сделать?Вот мой код контроллера:

package com.sa.example;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestParam;

import com.sentinel.advisor.GData;
import com.sentinel.advisor.GDataJdbcRepository;

@Controller
public class GDataController {

    @Autowired
    GDataJdbcRepository repository;

    @GetMapping("/gdata")
    public String gDataForm(Model model) {
        return "gData";
    }

    @PostMapping("/gdata")
    public String gDataSubmit(@ModelAttribute GData gData) {
        String returnString = repository.insert(gData);
        //returnString should be returned in the url as a query string
        return "result";
    }

}

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете использовать перенаправление (рекомендуется перенаправлять после публикации независимо от того, смотрите - https://en.wikipedia.org/wiki/Post/Redirect/Get.

Вид перенаправления Spring:

https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/view/RedirectView.html

Что-то вроде:

@Controller
public class GDataController {

    @Autowired
    GDataJdbcRepository repository;

    @GetMapping("/gdata")
    public String gDataForm(Model model) {
        return "gData";
    }

    @PostMapping("/gdata")
    public RedirectView gDataSubmit(@ModelAttribute GData gData) {
        String returnString = repository.insert(gData);
        return new RedirectView("/sucess?returnString=" + returnString, true);
    }

    @GetMapping("/success")
    public String getResultPage(@RequestParam("returnString")String returnString){
        return "result";
    }
}
...