Tôi có thể tìm tài nguyên để tìm hiểu các quy ước về kiểu đường dẫn Ant ở đâu? Tôi đã vào trang Ant, nhưng không thể tìm thấy bất kỳ thông tin nào về kiểu đường dẫn.
Tôi có thể tìm tài nguyên để tìm hiểu các quy ước về kiểu đường dẫn Ant ở đâu? Tôi đã vào trang Ant, nhưng không thể tìm thấy bất kỳ thông tin nào về kiểu đường dẫn.
Câu trả lời:
Các mẫu đường dẫn kiểu Ant phù hợp với khung mùa xuân:
Ánh xạ khớp với các URL bằng cách sử dụng các quy tắc sau:
?
khớp với một ký tự*
khớp với không hoặc nhiều ký tự**
khớp với không hoặc nhiều 'thư mục' trong một đường dẫn{spring:[a-z]+}
khớp với regexp[a-z]+
dưới dạng một biến đường dẫn có tên "spring"Vài ví dụ:
com/t?st.jsp
- khớp với com / test.jsp nhưng cũngcom/tast.jsp
hoặccom/txst.jsp
com/*.jsp
- phù hợp với tất cả.jsp
các tệp trongcom
thư mụccom/**/test.jsp
- khớp với tất cảtest.jsp
các tệp bên dướicom
đường dẫnorg/springframework/**/*.jsp
- khớp với tất cả.jsp
các tệp bên dướiorg/springframework path
org/**/servlet/bla.jsp
- diêmorg/springframework/servlet/bla.jsp
mà cònorg/springframework/testing/servlet/bla.jsp
vàorg/servlet/bla.jsp
com/{filename:\\w+}.jsp
sẽ khớpcom/test.jsp
và gán giá trịtest
chofilename
biến
http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html
spring-framework-reference
sẽ đặt nó vào ngữ cảnh: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates .
Tôi cho rằng ý bạn là cách sử dụng các mẫu đường dẫn
Nếu có vấn đề về việc sử dụng dấu gạch chéo hay dấu gạch chéo ngược, chúng sẽ được dịch sang dấu phân cách đường dẫn trên nền tảng được sử dụng trong thời gian thực thi.
Tiện ích sử dụng ba ký tự đại diện khác nhau.
+----------+-----------------------------------+
| Wildcard | Description |
+----------+-----------------------------------+
| * | Matches zero or more characters. |
| ? | Matches exactly one character. |
| ** | Matches zero or more directories. |
+----------+-----------------------------------+
Hầu hết câu trả lời được @user11153
ủng hộ bằng cách sử dụng các bảng để có định dạng dễ đọc hơn.
Ánh xạ khớp với các URL bằng cách sử dụng các quy tắc sau:
+-----------------+---------------------------------------------------------+
| Wildcard | Description |
+-----------------+---------------------------------------------------------+
| ? | Matches exactly one character. |
| * | Matches zero or more characters. |
| ** | Matches zero or more 'directories' in a path |
| {spring:[a-z]+} | Matches regExp [a-z]+ as a path variable named "spring" |
+-----------------+---------------------------------------------------------+
Vài ví dụ:
+------------------------------+--------------------------------------------------------+
| Example | Matches: |
+------------------------------+--------------------------------------------------------+
| com/t?st.jsp | com/test.jsp but also com/tast.jsp or com/txst.jsp |
| com/*.jsp | All .jsp files in the com directory |
| com/**/test.jsp | All test.jsp files underneath the com path |
| org/springframework/**/*.jsp | All .jsp files underneath the org/springframework path |
| org/**/servlet/bla.jsp | org/springframework/servlet/bla.jsp |
| also: | org/springframework/testing/servlet/bla.jsp |
| also: | org/servlet/bla.jsp |
| com/{filename:\\w+}.jsp | com/test.jsp & assign value test to filename variable |
+------------------------------+--------------------------------------------------------+
Như @ user11153 đã đề cập, AntPathMatcher của Spring triển khai và ghi lại các khái niệm cơ bản về đối sánh mẫu đường dẫn kiểu Ant.
Ngoài ra, các API nio của Java 7 được bổ sung một số hỗ trợ tích hợp cho khớp mẫu cơ bản thông qua FileSystem.getPathMatcher