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.jsphoặccom/txst.jspcom/*.jsp- phù hợp với tất cả.jspcác tệp trongcomthư mụccom/**/test.jsp- khớp với tất cảtest.jspcác tệp bên dướicomđường dẫnorg/springframework/**/*.jsp- khớp với tất cả.jspcác tệp bên dướiorg/springframework pathorg/**/servlet/bla.jsp- diêmorg/springframework/servlet/bla.jspmà cònorg/springframework/testing/servlet/bla.jspvàorg/servlet/bla.jspcom/{filename:\\w+}.jspsẽ khớpcom/test.jspvà gán giá trịtestchofilenamebiến
http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html
spring-framework-referencesẽ đặ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