示例#1
0
  @Override
  public int doStartTag() throws JspException {
    int ret = super.doStartTag();
    AccessControl control = AccessControl.getAccessControl();
    MenuHelper menuHelper = MenuHelper.getMenuHelper(request);
    String tokenurl = request.getContextPath() + "/token/getParameterToken.freepage";
    String personcenter =
        Framework.getInstance(control.getCurrentSystemID())
            .getMessage(
                "sany.pdp.module.personcenter",
                RequestContextUtils.getRequestContextLocal(request));
    StringBuffer datas = new StringBuffer();
    String selectedmenuid = request.getParameter(MenuHelper.sanyselectedmodule); // 查找选择的菜单项path
    datas.append(header);

    String contextpath = request.getContextPath();
    ItemQueue itemQueue = menuHelper.getItems();
    ModuleQueue moduleQueue = menuHelper.getModules();
    Item publicitem = menuHelper.getPublicItem();

    String framepath =
        web != null && web.equals("true")
            ? contextpath + "/sanydesktop/webframe.page"
            : contextpath + "/sanydesktop/frame.page";
    if (publicitem != null && publicitem.isMain()) {

      String target = publicitem.getTarget() == null ? "mainFrame" : publicitem.getTarget();
      String url =
          MenuHelper.getRealUrl(
              contextpath, publicitem.getWorkspacecontentExtendAttribute("isany"));
      String selectedclass = "";
      if (selectedmenuid == null || selectedmenuid.equals("publicitem")) {
        selectedclass = "class=\"select\"";
      }
      String mname = publicitem.getName(request);
      if (target.equals("mainFrame")) {
        // tokenurl
        datas
            .append("<li><a href=\"#\" id=\"anchor_")
            .append("publicitem")
            .append("\"  ")
            .append(selectedclass)
            .append(" onClick=\"navto_sany_MenuItem('")
            .append(tokenurl)
            .append("','")
            .append("publicitem")
            .append("','")
            .append(url)
            .append("','")
            .append(target)
            .append("',")
            .append(publicitem.getOption())
            .append(",'")
            .append(mname)
            .append("')\">")
            .append(mname)
            .append("</a></li>");
      } else {

        datas
            .append("<li><a href=\"#\" id=\"anchor_")
            .append("publicitem")
            .append("\"  ")
            .append(selectedclass)
            .append(" onClick=\"navto_sany_MenuItem_window('")
            .append(tokenurl)
            .append("','")
            .append(publicitem.getName(request))
            .append("','")
            .append("publicitem")
            .append("','','")
            .append(contextpath)
            .append("','")
            .append(target)
            .append("')\">")
            .append(mname)
            .append("</a></li>");
      }
    }

    for (int i = 0; moduleQueue != null && i < moduleQueue.size(); i++) {
      Module module = moduleQueue.getModule(i);
      if (!module.isUsed()) {
        continue;
      }
      String selectedclass = "";
      if (selectedmenuid != null && selectedmenuid.startsWith(module.getId())) {
        selectedclass = "class=\"select\"";
      }
      if (!module.isShowleftmenu()) {
        if (module.getUrl() == null) {
          datas
              .append("<li><a id=\"anchor_")
              .append(module.getId())
              .append("\"  ")
              .append(selectedclass)
              .append(" href=\"#\">")
              .append(module.getName(request))
              .append("</a>");
        } else {
          String target = module.getTarget() == null ? "mainFrame" : module.getTarget();
          String url = MenuHelper.getModuleUrl(module, contextpath, control);
          {
            String mname = module.getName(request);
            datas
                .append("<li><a href=\"#\"  ")
                .append(selectedclass)
                .append("  id=\"anchor_")
                .append(module.getId())
                .append("\" onClick=\"navto_sany_MenuItem('")
                .append(tokenurl)
                .append("','")
                .append(module.getId())
                .append("','")
                .append(url)
                .append("','")
                .append(target)
                .append("',")
                .append(module.getOption())
                .append(",'")
                .append(mname)
                .append("')\">")
                .append(mname)
                .append("</a>");
          }
        }
      } else {
        String target = module.getTarget() == null ? "mainFrame" : module.getTarget();
        if (target.equals("mainFrame")) {
          boolean hasson = module.hasSonOfModule();
          String mname = module.getName(request);
          if (hasson) {

            datas
                .append("<li><a href=\"#\"  ")
                .append(selectedclass)
                .append("  id=\"anchor_")
                .append(module.getId())
                .append("\" onClick=\"navto_sany_MenuItem('")
                .append(tokenurl)
                .append("','")
                .append(module.getId())
                .append("','")
                .append(framepath)
                .append("?")
                .append(MenuHelper.sanymenupath)
                .append("=")
                .append(module.getPath())
                .append("','")
                .append(target)
                .append("',")
                .append(module.getOption())
                .append(",'")
                .append(mname)
                .append("')\">")
                .append(mname)
                .append("</a>");
          } else {
            if (module.getUrl() == null) {
              datas
                  .append("<li><a id=\"anchor_")
                  .append(module.getId())
                  .append("\"  ")
                  .append(selectedclass)
                  .append(" href=\"#\">")
                  .append(module.getName(request))
                  .append("</a>");
            } else {
              String url = MenuHelper.getModuleUrl(module, contextpath, control);
              {
                datas
                    .append("<li><a href=\"#\"  ")
                    .append(selectedclass)
                    .append("  id=\"anchor_")
                    .append(module.getId())
                    .append("\" onClick=\"navto_sany_MenuItem('")
                    .append(tokenurl)
                    .append("','")
                    .append(module.getId())
                    .append("','")
                    .append(url)
                    .append("','")
                    .append(target)
                    .append("',")
                    .append(module.getOption())
                    .append(",'")
                    .append(mname)
                    .append("')\">")
                    .append(mname)
                    .append("</a>");
              }
            }
          }
        } else {
          datas
              .append("<li><a href=\"#\"  ")
              .append(selectedclass)
              .append(" id=\"anchor_")
              .append(module.getId())
              .append("\" onClick=\"navto_sany_MenuItem_window('")
              .append(tokenurl)
              .append("','")
              .append(module.getName(request))
              .append("','")
              .append(module.getId())
              .append("','")
              .append(module.getPath())
              .append("','")
              .append(contextpath)
              .append("','")
              .append(target)
              .append("')\">")
              .append(module.getName(request))
              .append("</a>");
        }
      }
      datas.append("<ul >"); // class=\"second\"

      ItemQueue subitems = module.getItems() != null ? module.getItems() : null;
      for (int j = 0; subitems != null && j < subitems.size(); j++) {
        Item subitem = subitems.getItem(j);

        String target = subitem.getTarget() == null ? "mainFrame" : subitem.getTarget();

        if (target.equals("mainFrame")) {

          String mname = subitem.getName(request);
          String url = MenuHelper.getItemUrl(subitem, contextpath, framepath, control);
          datas
              .append("<li><a id=\"anchor_")
              .append(subitem.getId())
              .append("\" href=\"#\" onclick=\"navto_sany_MenuItem('")
              .append(tokenurl)
              .append("','")
              .append(module.getId())
              .append("','")
              .append(url)
              .append("','")
              .append(target)
              .append("',")
              .append(subitem.getOption())
              .append(",'")
              .append(mname)
              .append("')\"><span></span>")
              .append("<div>")
              .append(mname)
              .append("</div>")
              .append("</a></li>");
        } else {
          datas
              .append("<li><a id=\"anchor_")
              .append(subitem.getId())
              .append("\" href=\"#\" onclick=\"navto_sany_MenuItem_window('")
              .append(tokenurl)
              .append("','")
              .append(subitem.getName(request))
              .append("','")
              .append(module.getId())
              .append("','")
              .append(subitem.getPath())
              .append("','")
              .append(contextpath)
              .append("','")
              .append(target)
              .append("')\"><span></span>")
              .append("<div>")
              .append(subitem.getName(request))
              .append("</div>")
              .append("</a></li>");
        }
      }
      ModuleQueue submodules = module.getSubModules() != null ? module.getSubModules() : null;
      for (int j = 0; submodules != null && j < submodules.size(); j++) {
        Module submodule = submodules.getModule(j);

        String target = submodule.getTarget() == null ? "mainFrame" : submodule.getTarget();

        renderSubMenus(
            submodule, datas, contextpath, target, control, module.getId(), framepath, 2, tokenurl);
      }

      datas.append("</ul></li>");
    }

    /** 个人中心 */
    if (itemQueue != null && itemQueue.size() > 0) {
      String selectedclass = "";
      if (selectedmenuid != null && selectedmenuid.equals("isany_personcenter")) {
        selectedclass = "class=\"select\"";
      }
      if (!menuHelper.isShowrootmenuleft()) {
        datas
            .append("<li><a id=\"anchor_")
            .append("isany_personcenter")
            .append("\" ")
            .append(selectedclass)
            .append(" href=\"#\">")
            .append(personcenter)
            .append("</a>");
      } else {
        String target = "mainFrame";
        datas
            .append("<li><a href=\"#\" id=\"anchor_")
            .append("isany_personcenter")
            .append("\" ")
            .append(selectedclass)
            .append(" onClick=\"navto_sany_MenuItem('")
            .append(tokenurl)
            .append("','")
            .append("isany_personcenter")
            .append("','")
            .append(framepath)
            .append("?")
            .append(MenuHelper.sanymenupath)
            .append("=")
            .append("isany_personcenter")
            .append("','")
            .append(target)
            .append("',{})\">")
            .append(personcenter)
            .append("</a>");
      }
      datas.append("<ul class=\"second\">");
      Item item = null;
      for (int i = 0; i < itemQueue.size(); i++) {
        item = itemQueue.getItem(i);

        String target = item.getTarget() == null ? "mainFrame" : item.getTarget();
        if (target.equals("mainFrame")) {
          String mname = item.getName(request);
          String url = MenuHelper.getItemUrl(item, contextpath, framepath, control);
          datas
              .append("<li><a href=\"#\" id=\"anchor_")
              .append(item.getId())
              .append("\" onClick=\"navto_sany_MenuItem('")
              .append(tokenurl)
              .append("','")
              .append("isany_personcenter")
              .append("','")
              .append(url)
              .append("','")
              .append(target)
              .append("',")
              .append(item.getOption())
              .append(",'")
              .append(mname)
              .append("')\"><span></span>")
              .append("<div>")
              .append(mname)
              .append("</div>")
              .append("</a></li>");
        } else {
          datas
              .append("<li><a href=\"#\" id=\"anchor_")
              .append(item.getId())
              .append("\" onClick=\"navto_sany_MenuItem_window('")
              .append(tokenurl)
              .append("','")
              .append("isany_personcenter")
              .append("','")
              .append(item.getPath())
              .append("','")
              .append(contextpath)
              .append("','")
              .append(target)
              .append("')\"><span></span>")
              .append("<div>")
              .append(item.getName(request))
              .append("</div>")
              .append("</a></li>");
        }
      }
      datas.append("</ul></li>");
    }

    datas.append(rooter);

    try {
      //			System.out.println(datas.toString());
      this.out.write(datas.toString());
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } finally {
      datas = null;
    }
    return ret;
  }
示例#2
0
  private void renderSubMenus(
      Module module,
      StringBuffer datas,
      String contextpath,
      String target,
      AccessControl control,
      String selectedID,
      String framepath,
      int current_level,
      String tokenurl) {
    //		String tokenurl = request.getContextPath() + "/token/getParameterToken.freepage";
    if (!module.isUsed()) {
      return;
    }
    if (!module.isShowleftmenu()) {

      if (module.getUrl() == null) {
        datas
            .append("<li><a  href=\"#\"><span></span><div>")
            .append(module.getName(request))
            .append("</div></a>");
      } else // 如果配置了链接,就必须要能够将链接显示出来
      {
        String mname = module.getName(request);
        String url = MenuHelper.getModuleUrl(module, contextpath, control);
        datas
            .append("<li><a  href=\"#\" ")
            .append("\" onClick=\"navto_sany_MenuItem('")
            .append(tokenurl)
            .append("','")
            .append(selectedID)
            .append("','")
            .append(url)
            .append("','")
            .append(target)
            .append("',")
            .append(module.getOption())
            .append(",'")
            .append(mname)
            .append("')\">")
            .append(mname)
            .append("</a>");
      }
    } else {
      if (target.equals("mainFrame")) {
        boolean hasson = module.hasSonOfModule();
        String mname = module.getName(request);
        if (hasson) {
          datas
              .append("<li><a  href=\"#\" ")
              .append("\" onClick=\"navto_sany_MenuItem('")
              .append(tokenurl)
              .append("','")
              .append(selectedID)
              .append("','")
              .append(framepath)
              .append("?")
              .append(MenuHelper.sanymenupath)
              .append("=")
              .append(module.getPath())
              .append("','")
              .append(target)
              .append("',")
              .append(module.getOption())
              .append(",'")
              .append(mname)
              .append("')\">")
              .append(mname)
              .append("</a>");
        } else // 没有儿子的情况处理
        {
          if (module.getUrl() == null) {
            datas
                .append("<li><a  href=\"#\"><span></span><div>")
                .append(mname)
                .append("</div></a>");
          } else // 如果配置了链接,就必须要能够将链接显示出来
          {
            String url = MenuHelper.getModuleUrl(module, contextpath, control);
            datas
                .append("<li><a  href=\"#\" ")
                .append("\" onClick=\"navto_sany_MenuItem('")
                .append(tokenurl)
                .append("','")
                .append(selectedID)
                .append("','")
                .append(url)
                .append("','")
                .append(target)
                .append("',")
                .append(module.getOption())
                .append(",'")
                .append(mname)
                .append("')\">")
                .append(mname)
                .append("</a>");
          }
        }
      } else {
        datas
            .append("<li><a  href=\"#\" ")
            .append("\" onClick=\"navto_sany_MenuItem_window('")
            .append(tokenurl)
            .append("','")
            .append(module.getName(request))
            .append("','")
            .append(selectedID)
            .append("','")
            .append(module.getPath())
            .append("','")
            .append(contextpath)
            .append("','")
            .append(target)
            .append("')\">")
            .append(module.getName(request))
            .append("</a>");
      }
    }
    if (current_level < level) {
      datas.append("<ul>"); // class=\"third\"

      current_level++;
      ModuleQueue submodules = module.getSubModules() != null ? module.getSubModules() : null;
      for (int j = 0; submodules != null && j < submodules.size(); j++) {

        Module submodule = submodules.getModule(j);
        String target_ = submodule.getTarget() == null ? "mainFrame" : submodule.getTarget();
        renderSubMenus(
            submodule,
            datas,
            contextpath,
            target_,
            control,
            selectedID,
            framepath,
            current_level,
            tokenurl);
      }
      ItemQueue subitems = module.getItems() != null ? module.getItems() : null;
      for (int j = 0; subitems != null && j < subitems.size(); j++) {
        Item subitem = subitems.getItem(j);
        String area = subitem.getArea();

        String target_ = subitem.getTarget() == null ? "mainFrame" : subitem.getTarget();
        if (target.equals("mainFrame")) {
          String mname = subitem.getName(request);
          String url = MenuHelper.getItemUrl(subitem, contextpath, framepath, control);
          datas
              .append("<li><a  href=\"#\" id=\"anchor_")
              .append(subitem.getId())
              .append("\" onClick=\"navto_sany_MenuItem('")
              .append(tokenurl)
              .append("','")
              .append(selectedID)
              .append("','")
              .append(url)
              .append("','")
              .append(target_)
              .append("',")
              .append(subitem.getOption())
              .append(",'")
              .append(mname)
              .append("')\">")
              .append(mname)
              .append("</a></li>");
        } else {
          datas
              .append("<li><a  href=\"#\" id=\"anchor_")
              .append(subitem.getId())
              .append("\" onClick=\"navto_sany_MenuItem_window('")
              .append(tokenurl)
              .append("','")
              .append(subitem.getName(request))
              .append("','")
              .append(selectedID)
              .append("','")
              .append(subitem.getPath())
              .append("','")
              .append(contextpath)
              .append("','")
              .append(target_)
              .append("')\">")
              .append(subitem.getName(request))
              .append("</a></li>");
        }
      }
      datas.append("</ul>");
    }

    datas.append("</li>");
  }