我在春季启动时面临一个小问题,我的网址有路径变量,我想仅隐藏路径变量,但我必须使用变量控制器内部
现在我的网址就像http://localhost:8080/abcProject/gauge/add/6eeaa220-bcd3-4bd1-b499-f4ae53028e4d-1511529503794
我想要一个像http://localhost:8080/abcProject/gauge/add/
这样的网址,因为在某些情况下,保留部分可能会影响项目。当我搜索时,我得到了一个答案来隐藏路径变量,以便在 WebMvcConfigurerAdapter 下添加以下代码。
@Autowired
private RequestMappingHandlerAdapter requestMappingHandlerAdapter;
@PostConstruct
public void init() {
requestMappingHandlerAdapter.setIgnoreDefaultModelOnRedirect(true);
}
但它不起作用。
我的控制器
@RequestMapping("/gauge/add/{gaugeUrl}")
public ModelAndView addCategory(@PathVariable("gaugeUrl") String gaugeUrl) {
//working with gaugeURL
//other stuffs
}
编辑1:我没有从jsp页面传递变量。我从数据库传递它。
编辑2 :我的请求为<a href="${pageContext.request.contextPath}/gauge/add/${listOngoingCustomerUuid.uuid}" target="_blank">Click here</a>
答案 0 :(得分:0)
@RequestMapping("/gauge/add")
public ModelAndView addCategory(@requestParam String gaugeUrl) {
//working with gaugeURL
//other stuffs
}
或
@GetMapping("/gauge/add")
public String addCategory(@RequestBody String gaugeUrl) {
//working with gaugeURL
//other stuffs
}
答案 1 :(得分:0)
POST请求示例:
@RequestMapping("/gauge/add", method = RequestMethod.POST)
public ModelAndView addCategory(@RequestBody String gaugeUrl) {
//working with gaugeURL
//other stuffs
}
答案 2 :(得分:0)
您可以使用ajax调用来执行相同操作,而不是使用href吗?我不知道你想要达到的确切结果,但这会隐藏你的参数。