从Java控制器启动html页面时添加查询字符串值
我有一个HTML页面,在发布后从java控制器启动,我想在url ex:(localhost:8000/gdata?id=11)中附加一个查询字符串值。这能做到吗?这是我的控制器代码:从Java控制器启动html页面时添加查询字符串值,java,spring-boot,post,query-string,Java,Spring Boot,Post,Query String,我有一个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.
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之后重定向,请参见-)
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";
}
}
您可以使用重定向(因为最好的做法是在post之后进行)。Spring的重定向视图: