有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript如何获取在Spring Eleaf应用程序中调用控制器的url

我有两个页面链接到同一个新页面。我需要能够做的是传递当前页面,以便新页面可以在完成需要完成的操作后返回到它

假设我有两页: /user/46#updateInfo/child/993#updateInfo

两个页面都有一个按钮 <a id="upload-image" th:href="@{/documents/upload/__${id}__}" class="btn btn-primary"> Upload Image </a> 这将触发控制器:

@GetMapping({documentType}/{userId})
public ModelAndView uploadImage(ModelAndView mav, 
                                @PathVariable(name="documentType") Optional<DocumentType> documentType, 
                                @PathVariable(name="userId") Optional<String> userId,
                                @RequestParam(name="returnUrl") Optional<String> returnUrl) {

   // do stuff here
   mav.addObject("returnUrl", returnUrl);
   mav.setViewName("uploadImages");
   return mav;
}

我已尝试使用上载按钮在页面的脚本部分添加以下内容:

$(document).ready(function() {
   $('#upload-image').prop("value", window.location.pathname + window.location.hash);
   $('#upload-image').prop("returnUrl", window.location.pathname + window.location.hash);
}

但该值不会显示在控制器中。我想应该有更简单的方法

同样,目标是加载新页面时(在本例中为uploadImages页面),用户将上载图像或单击取消按钮,然后返回到/user/46#updateInfo/child/993#updateInfo页面,该页面最初称为uploadImages页面


共 (1) 个答案

  1. # 1 楼答案

    将HttpServletRequest对象添加到控制器方法的参数列表中,并在该控制器内对该对象调用getRequestURI()方法。该方法将返回一个字符串,其中包含请求URI的完整路径