code: public String getViewSelect(String htmlAttributes) {
  
          List<String> options = new ArrayList<String>();
          List<String> values = new ArrayList<String>();
          int selectedIndex = 0;
  
          // loop through the vectors and fill the result vectors
          Iterator<CmsWorkplaceView> i = OpenCms.getWorkplaceManager().getViews().iterator();
          int count = -1;
          String currentView = getSettings().getViewUri();
          if (CmsStringUtil.isNotEmpty(currentView)) {
              // remove possible parameters from current view
              int pos = currentView.indexOf('?');
              if (pos >= 0) {
                  currentView = currentView.substring(0, pos);
              }
          }
          while (i.hasNext()) {
              CmsWorkplaceView view = i.next();
              if (getCms().existsResource(view.getUri(), CmsResourceFilter.ONLY_VISIBLE_NO_DELETED)) {
                  count++;
                  // ensure the current user has +v+r permissions on the view
                  String loopLink = getJsp().link(view.getUri());
                  String localizedKey = resolveMacros(view.getKey());
                  options.add(localizedKey);
                  values.add(loopLink);
  
                  if (loopLink.equals(currentView)) {
                      selectedIndex = count;
                  }
              }
          }
  
          return buildSelect(htmlAttributes, options, values, selectedIndex);
      }
docs: Returns a html select box filled with the views accessible by the current user.<p>
  
  @param htmlAttributes attributes that will be inserted into the generated html
  @return a html select box filled with the views accessible by the current user