URLの特定の文字列を除外したかったのです。私はオンラインregテスターを使用して正規表現をテストし、それが動作します。struts.action.excludePattern not working
しかし、URLにアクセスすると、struts2は依然としてリクエストを処理しているようです。
除外を正しく設定しませんでしたか?
<constant name="struts.action.excludePattern" value="\/mystring$"/>
私はStruts2のフレームワークから次のコードを抽出し、正規表現をテストするために私自身のテストクラスを作成しました。
public static List<Pattern> buildExcludedPatternsList(String patterns) {
if ((null != patterns) && (patterns.trim().length() != 0)) {
List<Pattern> list = new ArrayList();
String[] tokens = patterns.split(",");
for (String token : tokens) {
System.out.println("Token=" + token);
list.add(Pattern.compile(token.trim()));
}
return Collections.unmodifiableList(list);
}
return null;
}
public static boolean isUrlExcluded(String uri, List<Pattern> excludedPatterns) {
if (excludedPatterns != null) {
for (Pattern pattern : excludedPatterns) {
if (pattern.matcher(uri).matches()) {
return true;
}
}
}
return false;
}
私はここで値は正規表現にする必要がありますが、時にはそれは/単純な文字列としても –
このようなことを知っている/ –
youcanlearnanything
私はそれも$なしで動作するはずだと思います –