当前位置: 首页 > 知识库问答 >
问题:

Spring批处理管理-如何隐藏标准菜单,如home和files菜单

丌官玺
2023-03-14

是否有方法覆盖spring-batch-admin-manager中的/meta-inf/spring/batch/servlet/manager/manager-context.xml?我想删除主页和文件菜单(这是标准菜单)。请找到下面附上的导航菜单栏截图。

我试图在webapp的src/main/resources/meta-inf/spring/batch/override文件夹下创建一个manager-context.xml的副本,并注释掉以下代码行。

<bean class="org.springframework.batch.admin.web.HomeMenu" parent="baseMenu"/>
<bean class="org.springframework.batch.admin.web.FilesMenu" parent="baseMenu"/>

但是,它创建了重复的菜单,因为spring-batch-admin-manager.jar中的原始manager-context.xml首先被加载,而我的应用程序特定的manager-context.xml随后被加载。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
            http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
            http://www.springframework.org/schema/context 
            http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<import resource="classpath*:/META-INF/spring/batch/servlet/resources/*.xml" />
<import resource="classpath*:/META-INF/spring/batch/bootstrap/**/*.xml" />
<import resource="classpath*:/META-INF/spring/batch/override/**/*.xml" />
<!-- Instead of loading manager-context from spring-batch-admin-manager.jar,
the following line is commented out -->
<!-- <import resource="classpath*:/META-INF/spring/batch/servlet/manager/*.xml" /> -->
<!-- Load the manager-context.xml from my web application -->
<import resource="classpath*:/servlet/manager/manager-context.xml" /> 
<import resource="classpath*:/META-INF/spring/batch/servlet/manager/contoller-context.xml" />
<import resource="classpath*:/META-INF/spring/batch/servlet/manager/integration-context.xml" />
<import resource="classpath*:/META-INF/spring/batch/servlet/override/*.xml" />

<!-- Override the standard location for spring batch admin resources -->
<bean id="resourceService"   class="org.springframework.batch.admin.web.resources.DefaultResourceService">
    <property name="servletPath" value="/admin-console" />
</bean>

<bean id="parameterUnpackerFilter"  class="org.springframework.batch.admin.web.filter.ParameterUnpackerFilter">
    <property name="prefix" value="unpack_"/>
    <property name="putEmptyParamsInPath" value="true"/>
</bean>

</beans>

不幸的是,应用程序无法加载任何连接到作业和执行菜单的自由标记模板(*.ftl文件),因此我无法使用任何菜单。我所讨论的ftl文件位于spring-batch-admin-manager源代码中的src/main/resources/org/springframework/batch/admin/web/manager文件夹下。

共有1个答案

郭璞
2023-03-14

我也有同样的问题。为了解决这个问题,我创建了src/main/resources/org/springframework/batch/admin/web/layouts/html/navigation.ftl文件,其内容如下:

<#assign home_url><@spring.url relativeUrl="${servletPath}/"/></#assign>
<#assign company_url><@spring.messageText code="company.url" text=companyUrl!"http://www.spring.io"/></#assign>
<#assign company_name><@spring.messageText code="company.name" text=companyName!"Spring"/></#assign>
<#assign product_url><@spring.messageText code="product.url" text=productUrl!"http://projects.spring.io/spring-batch/"/></#assign>
<#assign product_name><@spring.messageText code="product.name" text=productName!"Spring Batch"/></#assign>
<div id="primary-navigation">
    <div id="primary-left">
        <ul>
           <#list menuManager.menus as menu>
             <#if menu_index != 0 && menu_index != 3>
                <#assign menu_url><@spring.url relativeUrl="${menu.url}"/></#assign>
                <li><a href="${menu_url}">${menu.label}</a></li>    
             </#if>
           </#list>
        </ul>
    </div>
    <div id="primary-right">
        <ul>
           <li><a href="${company_url}">${company_name}</a></li>
           <li><a href="${product_url}">${product_name}</a></li>
        </ul>
    </div>
</div><!-- /primary-navigation -->

其中<#if menu_index!=0&&menu_index!=3>跳过了“home”菜单(索引=0)和“file”菜单(索引=3)

 类似资料:
  • 最近我在我的网站上安装了两个插件。插件生成两个管理菜单。我想把菜单藏起来。 菜单名为: WP Metaboxer鼠标悬停链接(mysite.com/WP admin/edit.php?post_type=mtbxr_metabox) BWS插件鼠标悬停链接(mysite.com/wp-admin/admin.php?page=bws_plugins) 我可以通过这些代码隐藏其他默认菜单

  • 我想从Spring批处理管理作业的选项卡上的“Job Names Registered”列表中隐藏一些作业。 我使用的是旧版本“spring-batch-core-2.2.6.release”和“spring-batch-admin-manager-1.3.0.release”,在org/springframework/batch/core/configuration/xml/spring-bat

  • 一、本功能说明 对全站菜单进行添加、修改、删除操作 二、子功能导航 1.添加 2.修改 2.删除 三、功能详解 1.添加菜单 1).如何进入本功能 导航栏 选择扩展 -> 菜单栏 选择 菜单管理-> 顶部添加菜单或者 在菜单列表选择添加子菜单 如下图所示: 2).界面解释 点击后显示如下界面 界面详述 1). 上级菜单: 请选择该菜单所属的级别和位置 2). 中文语言名称: 菜单名称 3). 菜单

  • 应用Controller目录下文件命名规则,以****adminController.class.php或者Admin****Controller.class.php命名的是后台controller, 在后台菜单导入时会自动识别 以下几个功能是debug开启时才会出现的: 所有菜单 这个是用来管理后台所有菜单的,在这里可以很方便的对那些“未知”的菜单进行编辑 导入新菜单 这个功能就是所有菜单里那个

  • 有些容器应用程序不提供新建菜单栏的方法,因此,需用 Visual Basic 创建菜单栏。在用 Visual Basic 创建了一个菜单栏之后,就可用容器应用程序接口或继续用 Visual Basic 定义该菜单栏。 在运行时间添加菜单栏 要在运行时间给应用程序添加一个菜单栏,可用CommandBars 集合的Add 方法并将MenuBar 参数指定为 True。以下示例将添加一个不可移动的菜单栏

  • 我有一个带有MenuItem的操作条。如何隐藏/显示该菜单项? 这就是我要做的: