Package org.apache.struts2.util
Class RegexPatternMatcher
java.lang.Object
org.apache.struts2.util.RegexPatternMatcher
- All Implemented Interfaces:
PatternMatcher<RegexPatternMatcherExpression>
public class RegexPatternMatcher
extends Object
implements PatternMatcher<RegexPatternMatcherExpression>
Allows regular expressions to be used in action names. The regular expressions can be in the form {FIELD_NAME} or {FIELD_NAME:REGULAR_EXPRESSION}. For example:
<action name="/{bio:.+}/test/{name}" class="org.apache.struts2.showcase.UITagExample">
<result>/tags/ui/example.jsp</result>
</action>
For this to work it is important to set the following:
<constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/> <constant name="struts.patternMatcher" value="regex" />
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncompilePattern(String data) Translate the givenStringinto an object representing the pattern matchable by this class.booleanDetermines if the pattern is a simple literal string or contains wildcards that will need to be processedbooleanMatch a pattern against a string
-
Constructor Details
-
RegexPatternMatcher
public RegexPatternMatcher()
-
-
Method Details
-
compilePattern
Description copied from interface:PatternMatcherTranslate the given
Stringinto an object representing the pattern matchable by this class.- Specified by:
compilePatternin interfacePatternMatcher<RegexPatternMatcherExpression>- Parameters:
data- The string to translate.- Returns:
- The encoded string
-
isLiteral
Description copied from interface:PatternMatcherDetermines if the pattern is a simple literal string or contains wildcards that will need to be processed- Specified by:
isLiteralin interfacePatternMatcher<RegexPatternMatcherExpression>- Parameters:
pattern- The string pattern- Returns:
- True if the pattern doesn't contain processing elements, false otherwise
-
match
Description copied from interface:PatternMatcherMatch a pattern against a string- Specified by:
matchin interfacePatternMatcher<RegexPatternMatcherExpression>- Parameters:
map- The map to store matched valuesdata- The string to matchexpr- The compiled wildcard expression- Returns:
- True if a match
-