Java可以作為后端語言與Vue前端進行配合,對于前端路由的獲取也是必要的。Vue的前端路由是通過history或者hash部分來傳遞信息的,其中history可以通過HTML5的history API進行處理,而hash部分則需要進行特殊的處理。下面將分別介紹這兩種方式的Java獲取路由的方法。
history方式獲取Vue路由
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestController public class RouterController { @GetMapping("/historyRouter") public String getHistoryRouter(HttpServletRequest request){ String path = request.getRequestURI(); return path; } }
上面的代碼中,我們通過在@RestController注解中使用@GetMapping注解來定義我們的路由。在getHistoryRouter方法中,我們通過HttpServletRequest來調用Java的API獲取到前端的路由信息,返回給前端。
hash方式獲取Vue路由
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestController public class RouterController { @GetMapping("/hashRouter") public String getHashRouter(HttpServletRequest request){ String path = request.getRequestURI(); String hash = request.getParameter("_escaped_fragment_"); return path + hash; } }
上面的代碼中,我們同樣使用@RestController注解和@GetMapping注解來定義路由。在getHashRouter方法中,我們同樣通過HttpServletRequest來獲取路由信息。但是由于hash部分需要進行特殊的處理,因此我們需要調用request.getParameter("_escaped_fragment_")方法來獲取到前端傳來的hash內容,并與路由地址一起返回給前端。
綜上所述,通過Java獲取Vue的路由信息是非常簡單的,只需要調用Java的API即可。但是需要注意的是,由于前端路由本身并不是一個完整的地址,因此Java獲取路由信息時需要進行適當的處理,特別是hash部分的處理需要更加注意。
上一篇c 接收json參數
下一篇python 特征詞