例如,加速器定义了一个Minicart控制器,类似于
package com.custom.storefront.controllers.misc;
@Controller
public class MiniCartController extends AbstractController
{
@RequestMapping(value = "/cart/miniCart/{totalDisplay:.*}", method = RequestMethod.GET)
public String getMiniCart(@PathVariable final String totalDisplay, final Model model)
{
//default functionality
}
}
在我的addon中,我希望将相同的URL模式映射到一个新的控制器,该控制器将覆盖该功能。
package com.custom.storefrontaddon.controllers.misc;
@Controller
public class MyCustomMiniCartController extends AbstractController
{
@RequestMapping(value = "/cart/miniCart/{totalDisplay:.*}", method = RequestMethod.GET)
public String getMiniCart(@PathVariable final String totalDisplay, final Model model)
{
//overriding functionality, different from the default accelerator storefront
}
}
这里提出了这一问题,得到接受的建议是这样做:
<bean name="miniCartController" class="com.custom.storefrontaddon.controllers.misc.MyCustomMiniCartController"/>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/cart/miniCart/**">miniCartController</prop>
</props>
</property>
</bean>
Spring在accelerator storefront中默认使用RequestMappingHandlerMapping
,在插件中我们将引入SimpleURLHandlerMapping
。我想明白为什么这样做,因为我读过的所有其他论坛帖子都说,您不能在不同的控制器中覆盖@requestmapping
URL,否则将为重复的URL引发异常。
在我的回答中,我会支持您打错了字,您的意思是MyCustomMiniCartController而不是MiniCartController:
<bean name="miniCartController" class="com.custom.storefrontaddon.controllers.misc.MyCustomMiniCartController"/>
这里的问题是,SimpleURLHandlerMapping
没有什么可做的,它在addon-web-spring.xml
中的声明完全没有用。
在addon中重新定义minicartController
bean会使bean定义被addon类覆盖,因此在addon类中声明的请求映射是RequestMappingHandlerMapping
“使用”的。
在另一个线程中,我正在从GoogleDeveloper的StoreLocator插件中寻找面板的一些定制帮助 如何从谷歌开发者定制商店定位器插件的侧边框 我需要进一步的定制,如:1.我想为要订购的商店列表制作无序列表。2.想把更多的信息和细节的列表。3.想要获得距离每个商店从搜索位置。 你能建议我如何前进吗?
我目前正在为我的服务器网络编写自己的GUI商店,我面临着两个奇怪的问题。 第一个问题是,每当我想获得两个带有项目ID 161和两个不同元ID(0和1)的树叶时,我只得到一个元ID 2。 这是我在调试中尝试获取项目数据时得到的内容:问题 1 这就是我在库存中得到的:问题 1 但它应该是这个(例如):161/0 或 161/1 我从Spigot/Bukkit自己那里得到了这个物品Meta,所以我无论如
我尝试用自定义控制器制作一个自定义组件。自定义组件已经显示在应用程序上,但我未能向其添加属性。 项目结构: null 布尔马尔科 完全错误: 原因:java.lang.nullPointerException:无法调用“javafx.scene.image.imageeview.setimage(javafx.scene.image.image)”,因为“controller.topbarbtn.
自定义控件用JavaScript和原生平台支持的语言编写。它们使用原生Tabris.js客户端的接口,并被封装在Cordova插件中。本文将介绍JavaScript的实现部分。 用JavaScript定义自定义控件 自定义控件必须继承自Widget。它能够与自定义控件的原生部分进行通信。 自定义控件类必须覆写_nativeType属性的getter以返回与原生实现匹配的类型: class MyCu
PyQt5 有丰富的组件,但是肯定满足不了所有开发者的所有需求,PyQt5 只提供了基本的组件,像按钮,文本,滑块等。如果你还需要其他的模块,应该尝试自己去自定义一些。 自定义组件使用绘画工具创建,有两个基本方式:根据已有的创建或改进;通过自己绘图创建。 Burning widget 这个组件我们会在 Nero,K3B,或者其他 CD/DVD 烧录软件中见到。 #!/usr/bin/python3
问题: NSIS 中,自定义页面中,有一个 勾选框 和 一个 目录选择编辑框,能否实现勾选 CheckBox 后,目录选择编辑框 可用,如果不勾选,目录选择编辑框 变为不可用。 回答: 问题涉及到 NSIS 中自定义页面中的关于控件的消息传递问题,还有怎样进入回调函数处理的问题。 关于自定义页面的预先声明格式: Page custom [创建函数] [离开函数] [标题] 这里解释一下,关于自定义