有没有办法可以更改spring batch admin webapp的主页?
我尝试了各种解决方案而没有任何帮助。困扰我的是RequestMapping(value = { "/", "/home" })
在HomeController
项目中被spring-batch-resources
出价,我无法覆盖该映射。
我不知道什么是必要的,我首先尝试将index.jsp
页面重新定义为"/myHomePage"
而不是默认的"/home"
。没有结果。
我尝试将自己的控制器定义为具有相同的RequestMapping(value = "/")
。没有结果。模糊映射异常。
我尝试在我自己的控制器中从HomeController
扩展和覆盖方法,也没有结果,也有模糊的映射异常。
我甚至添加了
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
没有结果!
我并不关心"/home"
映射我只想覆盖"/"
映射,或者将其转发到我的页面,或类似的东西。有办法吗?
P.S。我无法更改HomeController
实施,因为spring-batch-resources
依赖spring-batch-admin-sample
...
答案 0 :(得分:1)
解释我在评论中给出的答案,@ kap
自从我为此工作已经很长时间了,我现在没有可用的代码,但我记得很清楚:
在资源中的XML文件中的应用程序上下文的一个定义中(抱歉,我忘了哪个)你需要添加类似
的内容<mvc:interceptor>
<mvc:mapping path="/"/>
<bean class="blabla.MyInterceptor" />
</mvc:interceptor>
然后创建实现 HandlerInterceptor 的类 MyInterceptor ,它将重定向请求。您可以使用3种方法来覆盖行为
我认为我使用 postHandle 来实现重定向到我的自定义主页的代码。您可以使用Spring拦截器谷歌获取有关重定向请求的教程,以了解如何实现它。
答案 1 :(得分:0)
这对我有用: 将其添加到web.xml
<servlet-mapping>
<servlet-name>Batch Servlet</servlet-name>
<url-pattern>/batch/*</url-pattern>
</servlet-mapping>
并在我自己的索引页面上添加此部分
<body>
<div class="pageHeader" id="pageHeader" style="height: 100px;"></div>
<p><a href="<%= request.getContextPath() %>/batch/">Batch job admin</a></p>
</body>