if (basePath != null) page = resourceRelative(basePath, page, requestContext());
}
}
if (action != null) {
Context ctx = MetaContext.currentContext(this);
ctx.push();
String queryString = m.group(2);
if (queryString != null) {
String deescaped = queryString.replace("&","&");
Map<String, String[]> queryParams = AWUtil.parseQueryString(deescaped);
for (Map.Entry<String,String[]> e : queryParams.entrySet()) {
ctx.set(e.getKey(), e.getValue()[0]);
}
}
ctx.set(UIMeta.KeyAction, action);
if (page != null) ctx.set("page", page);
_actionResults = ((UIMeta)ctx.meta()).fireAction(ctx, requestContext());
_actionTarget = (String)ctx.propertyForKey("linkTarget");
ctx.pop();
} else {
// static URL -- initialize action target
Context ctx = MetaContext.currentContext(this);
ctx.push();
ctx.set("page", _actionUrl);
_actionTarget = (String)ctx.propertyForKey("linkTarget");
ctx.pop();
_actionResults = AWRedirect.getRedirect(requestContext(), _actionUrl);
}
}