如何规范化 Hybris 中的 URL
How to normalize URLs in Hybris
当我在用户界面中搜索类别和产品时,我的 URL 看起来像
一样损坏
�, // c//p/010
如何去掉这些字符?
Hybris 中是否有开箱即用的解决方案?
Hybris 在类别、产品和内容页面 URL 中做了很多转义特殊字符。为此考虑 de.hybris.platform.commerceservices.url.impl.AbstractUrlResolver 和所有子类。
以下是最常见的:
- DefaultCategoryModelUrlResolver
- DefaultProductModelUrlResolver
- DefaultContentPageUrlResolver
像这样使用它们:
...
@Resource(name = "productModelUrlResolver")
private UrlResolver<ProductModel> productModelUrlResolver;
...
ProductModel product = productService.getProductForCode("myProduct");
String url = productModelUrlResolver.resolve(product);
将以下内容添加到 core-spring.xml
<alias name="mysiteProductModelUrlResolver" alias="productModelUrlResolver"/>
<bean id="mysiteProductModelUrlResolver"
class="de.hybris.platform.commerceservices.url.impl.DefaultProductModelUrlResolver">
<property name="threadContextService" ref="threadContextService"/>
<property name="commerceCategoryService" ref="commerceCategoryService"/>
<property name="baseSiteService" ref="baseSiteService"/>
<property name="defaultPattern" value="/product/{product-code}"/>
<property name="productAndCategoryHelper" ref="productAndCategoryHelper"/>
</bean>
并将ProductPageController
更改为@RequestMapping(value = "/**/product")
当我在用户界面中搜索类别和产品时,我的 URL 看起来像
一样损坏�, // c//p/010
如何去掉这些字符?
Hybris 中是否有开箱即用的解决方案?
Hybris 在类别、产品和内容页面 URL 中做了很多转义特殊字符。为此考虑 de.hybris.platform.commerceservices.url.impl.AbstractUrlResolver 和所有子类。
以下是最常见的:
- DefaultCategoryModelUrlResolver
- DefaultProductModelUrlResolver
- DefaultContentPageUrlResolver
像这样使用它们:
...
@Resource(name = "productModelUrlResolver")
private UrlResolver<ProductModel> productModelUrlResolver;
...
ProductModel product = productService.getProductForCode("myProduct");
String url = productModelUrlResolver.resolve(product);
将以下内容添加到 core-spring.xml
<alias name="mysiteProductModelUrlResolver" alias="productModelUrlResolver"/>
<bean id="mysiteProductModelUrlResolver"
class="de.hybris.platform.commerceservices.url.impl.DefaultProductModelUrlResolver">
<property name="threadContextService" ref="threadContextService"/>
<property name="commerceCategoryService" ref="commerceCategoryService"/>
<property name="baseSiteService" ref="baseSiteService"/>
<property name="defaultPattern" value="/product/{product-code}"/>
<property name="productAndCategoryHelper" ref="productAndCategoryHelper"/>
</bean>
并将ProductPageController
更改为@RequestMapping(value = "/**/product")