从 Java 控制器启动 html 页面时添加查询字符串值
Add query string value when html page is launched from Java Controller
我有一个 HTML 页面,它在 post 之后从 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";
}
}
您可以使用重定向(最好在 post 之后重定向,无论参见 - https://en.wikipedia.org/wiki/Post/Redirect/Get。
Spring 的重定向视图:
类似于:
@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";
}
}
我有一个 HTML 页面,它在 post 之后从 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";
}
}
您可以使用重定向(最好在 post 之后重定向,无论参见 - https://en.wikipedia.org/wiki/Post/Redirect/Get。
Spring 的重定向视图:
类似于:
@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";
}
}