docs: private String getEventName() {
          String event = null;
  
          @SuppressWarnings("unchecked")
          Enumeration<String> e = request.getParameterNames();
  
          while (e.hasMoreElements()) {
              String originalKey = e.nextElement();
              String paramKey = StringUtil.toLowerCaseWithUnderscores(originalKey);
  
              if (paramKey.startsWith(DEFAULT_EVENT_PATTERN) && !StringUtil.isBlank(request.getParameter(originalKey))) {
                  int startIndex = DEFAULT_EVENT_PATTERN.length();
                  int endIndex = paramKey.length();
  
                  // 支持<input type="image">
                  if (paramKey.endsWith(IMAGE_BUTTON_SUFFIX_1)) {
                      endIndex -= IMAGE_BUTTON_SUFFIX_1.length();
                  } else if (paramKey.endsWith(IMAGE_BUTTON_SUFFIX_2)) {
                      endIndex -= IMAGE_BUTTON_SUFFIX_2.length();
                  } else if (paramKey.endsWith(IMAGE_BUTTON_SUFFIX_3)) {
                      endIndex -= IMAGE_BUTTON_SUFFIX_3.length();
                  } else if (paramKey.endsWith(IMAGE_BUTTON_SUFFIX_4)) {
                      endIndex -= IMAGE_BUTTON_SUFFIX_4.length();
                  }
  
                  event = StringUtil.trimToNull(paramKey.substring(startIndex, endIndex));
  
                  if (event != null) {
                      break;
                  }
              }
          }
  
          return event;
      }