การเรียนรู้รูปแบบเส้นทางมด


108

ฉันจะหาแหล่งข้อมูลเพื่อเรียนรู้รูปแบบของเส้นทางมดได้ที่ไหน ฉันไปที่ไซต์ Ant แล้ว แต่ไม่พบข้อมูลเกี่ยวกับรูปแบบเส้นทางเลย


3
คุณหมายถึงอะไรตามรูปแบบการประชุม? คุณหมายถึงการตั้งชื่อ src สำหรับ src และ cfg สำหรับ config stuff หรือไม่?
Zak

คำตอบนี้อาจเป็นประโยชน์ด้วยstackoverflow.com/q/40886239/355438
Lu55

คำตอบ:


159

รูปแบบเส้นทาง Ant-style ที่ตรงกันใน :

การแมปตรงกับ URL โดยใช้กฎต่อไปนี้:

  • ? จับคู่อักขระหนึ่งตัว
  • * ตรงกับอักขระศูนย์หรือมากกว่า
  • ** จับคู่ 'ไดเรกทอรี' เป็นศูนย์หรือมากกว่าในเส้นทาง
  • {spring:[a-z]+}จับคู่ regexp [a-z]+เป็นตัวแปรเส้นทางชื่อ "spring"

ตัวอย่างบางส่วน:

  • com/t?st.jsp- ตรงกับ com / test.jsp แต่ยังcom/tast.jspหรือcom/txst.jsp
  • com/*.jsp- จับคู่.jspไฟล์ทั้งหมดในcomไดเรกทอรี
  • com/**/test.jsp- จับคู่test.jspไฟล์ทั้งหมดที่อยู่ใต้comเส้นทาง
  • org/springframework/**/*.jsp- จับคู่.jspไฟล์ทั้งหมดที่อยู่ใต้ไฟล์org/springframework path
  • org/**/servlet/bla.jsp- การแข่งขันorg/springframework/servlet/bla.jspแต่ยังorg/springframework/testing/servlet/bla.jspและorg/servlet/bla.jsp
  • com/{filename:\\w+}.jspจะจับคู่com/test.jspและกำหนดค่าtestให้กับfilenameตัวแปร

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html


16
มีวิธีใดบ้างในการจับคู่รูปแบบต่างๆภายในการแสดงออกของมด เช่น / com / *, /com/**/test.jsp ในนิพจน์เดียวกันหรือไม่
chrismarx

รูปแบบนี้ /WEB-INF/tiles-config/*-tiles-definition.xml เพื่อนำไฟล์ทั้งหมดลงท้ายด้วย -tiles-definition.xml ไม่ทำงานสำหรับฉัน แต่ในเวลาเดียวกัน / WEB-INF / tiles-config / * .xml ใช้งานได้ ดังนั้น * ตรงกับอักขระศูนย์หรือมากกว่านั้นถูกต้องหรือไม่?
Khader MA

คำอธิบายภายในspring-framework-referenceอย่างทำให้มันเป็นบริบท: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates
Wolfson

42

ฉันคิดว่าคุณหมายถึงวิธีใช้รูปแบบเส้นทาง

หากเกี่ยวกับว่าจะใช้เครื่องหมายทับหรือแบ็กสแลชสิ่งเหล่านี้จะถูกแปลเป็นตัวคั่นเส้นทางบนแพลตฟอร์มที่ใช้ระหว่างเวลาดำเนินการ


1
+1. นอกจากนี้วิธีการไปยังส่วนนี้ของเอกสารจากคู่มือ Ant: สารบัญ => "แนวคิดและประเภท" => [รายการประเภท] ส่วนเมนูด้านซ้าย => "งานตามไดเรกทอรี" => [ รูปแบบ] ส่วนของหน้า
informatik01

7

ตัวจับคู่รูปแบบสไตล์ ANT

สัญลักษณ์แทน

ยูทิลิตี้นี้ใช้สัญลักษณ์แทนสามตัวที่แตกต่างกัน

+----------+-----------------------------------+
| Wildcard |            Description            |
+----------+-----------------------------------+
| *        | Matches zero or more characters.  |
| ?        | Matches exactly one character.    |
| **       | Matches zero or more directories. |
+----------+-----------------------------------+

1

คำตอบที่ได้รับการโหวตมากที่สุดโดย@user11153ใช้ตารางสำหรับรูปแบบที่อ่านง่ายขึ้น


การแมปตรงกับ URL โดยใช้กฎต่อไปนี้:

+-----------------+---------------------------------------------------------+
| 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" |
+-----------------+---------------------------------------------------------+

ตัวอย่างบางส่วน:

+------------------------------+--------------------------------------------------------+
| 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  |
+------------------------------+--------------------------------------------------------+

0

ในฐานะที่เป็น @ user11153 กล่าวถึงของฤดูใบไม้ผลิAntPathMatcherการดำเนินการและเอกสารพื้นฐานของมดสไตล์รูปแบบเส้นทางที่ตรงกัน

นอกจากนี้ nio API ของ Java 7 ยังเพิ่มการสนับสนุนบางอย่างในตัวสำหรับการจับคู่รูปแบบพื้นฐานผ่านFileSystem.getPathMatcher

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.