}
private String firePostSubstitutionEvent(RewriteRule rule, String path, ParserRequestContext parser,
MatchResultSubstitution resultSubs) {
for (Object handler : rule.handlers()) {
RewriteSubstitutionContext context = null;
if (handler instanceof RewriteSubstitutionHandler) {
if (context == null) {
context = new RewriteSubstitutionContextImpl(path, parser, resultSubs);
}
if (log.isTraceEnabled()) {
log.trace("Processing post-substitution event for \"{}\" with handler: {}",
StringEscapeUtil.escapeJava(path), handler);
}
((RewriteSubstitutionHandler) handler).postSubstitution(context);
// path���Ա��ı�
String newPath = context.getPath();
if (newPath != null && !isEquals(path, newPath)) {
if (log.isDebugEnabled()) {
log.debug("Rewriting \"{}\" to \"{}\"", StringEscapeUtil.escapeJava(path),
StringEscapeUtil.escapeJava(newPath));