I have a controller with request mapping as @RequestMapping("/**")
What does it mean?
If I want to exclude certain url pattern from the above mapping how would I do that?
Could someone please shed some light on it?
I was able to achieve "url exclusion" or "not matching url" through the use of the Regex "negative lookahead" construct.
I want my handler to handel everything other than static resources, i.e. CSS/Images/JS, and error pages.
To prevent that handeling of error pages i.e. resourceNotFound you will need to
In your controller use the below
@Controller
@RequestMapping(value = { "/" })
public class CmsFrontendController {
  @RequestMapping(value = { "/" }, headers = "Accept=text/html")
  public String index(Model ui) {
      return addMenu(ui, "/");
  }
  @RequestMapping(value = { "{path:(?!resources|error).*$}", "{path:(?!resources|error).*$}/**" }, headers = "Accept=text/html")
  public String index(Model ui, @PathVariable(value = "path")String path) {
      try {
          path = (String) request.getAttribute(
                  HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
          return addMenu(ui, path);
      } catch (Exception e) {
          log.error("Failed to render the page. {}", StackTraceUtil.getStackTrace(e));
          return "error/general";
      }
  }
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With