Antパススタイルの学習


104

Antパススタイルの規則を学ぶためのリソースはどこにありますか?Antサイト自体に行きましたが、パスのスタイルに関する情報は見つかりませんでした。


3
スタイルの規則とはどういう意味ですか?srcにはsrcを、configにはcfgに名前を付けますか?
Zak

この答えも役に立つ
かもしれませ

回答:


154

一致するAntスタイルのパスパターン

マッピングは、次のルールを使用してURLと一致します。

  • ? 1文字に一致
  • * ゼロ個以上の文字に一致します
  • ** パスの0個以上の「ディレクトリ」に一致します
  • {spring:[a-z]+}[a-z]+「春」という名前のパス変数として正規表現に一致します

いくつかの例:

  • 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.jsporg/servlet/bla.jsp
  • com/{filename:\\w+}.jspcom/test.jsptestを照合してfilename変数に割り当てます

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


15
1つのant表現内の複数のパターンに一致する方法はありますか?同じ表現で/com/*、/com/**/test.jspのように?
chrismarx 2015年

すべてのファイルを取得するこのパターン/WEB-INF/tiles-config/*-tiles-definition.xmlは-tiles-definition.xmlで終わりますが、私にとっては機能しませんが、同時に/ WEB-INF / tiles-config / * .xmlは機能します。*は0個以上の文字に一致しますか?
Khader MA 2016

spring-framework-referenceうまく説明内の説明がコンテキストに入れます:https : //docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates
Wolfson

40

パスパターンの使い方のことだと思います

スラッシュとバックスラッシュのどちらを使用するかについては、これらは実行時に使用されるプラットフォーム上のパス区切り文字に変換されます。


1
+1。さらに、Antマニュアルからこのドキュメントの部分に移動する方法を次に示します。目次 =>「概念とタイプ」=> [タイプのリスト]左メニューセクション=>「ディレクトリベースのタスク」=> [パターン]ページセクション
informatik01

7

ANTスタイルパターンマッチャー

ワイルドカード

ユーティリティは3つの異なるワイルドカードを使用します。

+----------+-----------------------------------+
| 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で述べたように、SpringのAntPathMatcherは、Antスタイルのパスパターンマッチングの基本を実装して文書化します。

さらに、Java 7のnio APIには、FileSystem.getPathMatcherを介した基本的なパターンマッチングの組み込みサポートがいくつか追加されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.