是否有一种简单的方法可以在WebSphere Commerce 7(Feature Pack 6)中的Java类内构建seo友好的URL。如何在Websphere Commerce 7中使用Java内部的WebSphere Commerce构建Seo Urls
在JSP文件中,您可以使用提供的标签,但是在Java方法中还可以使用简单的方法构建seo URL。
我在自己的帮助器类中重建标记方法,但这似乎有点超过顶部,可能包含很多错误。
IBM是否提供了我尚未找到的帮助程序类?
感谢
是否有一种简单的方法可以在WebSphere Commerce 7(Feature Pack 6)中的Java类内构建seo友好的URL。如何在Websphere Commerce 7中使用Java内部的WebSphere Commerce构建Seo Urls
在JSP文件中,您可以使用提供的标签,但是在Java方法中还可以使用简单的方法构建seo URL。
我在自己的帮助器类中重建标记方法,但这似乎有点超过顶部,可能包含很多错误。
IBM是否提供了我尚未找到的帮助程序类?
感谢
要创建可以使用SEOURLMapper SEO的URL。 实施例:
String patternName = "CanonicalItemURL";
TypedProperty properties = new TypedProperty();
properties.put("storeId", storeId);
properties.put("langId", languageId);
properties.put("catalogId", catalogId);
SEOURLMapper mapperInstance = SEOConfigurationRegistry.singleton().getMapperInstance();
String seoUrl = mapperInstance.constructDynamicURLByPatternName(patternName, properties, null);
实际上所有这些SEO URL由一个Java类只创建(内部)。你需要检查你的wc-server.xml
你在哪里定义SEOConfiguration
。
必须有一个与配置关联的URLMapper类。默认情况下,它是SEOURLMapper
。检查其方法constructSEOURL
和deconstructSEOURL
。
TypedProperty urlProperties = new TypedProperty();
urlProperties.put("storeId", storeId);
urlProperties.put("catalogId", catalogId);
urlProperties.put("langId", languageId);
urlProperties.put("urlLangId", languageId);
urlProperties.put("productId", productId);
SEOURLMapper mapper = SEOConfigurationRegistry.singleton().getMapperInstance();
url = mapper.constructSEOURLByPatternName("ProductURL", urlProperties, null, null, null);
上述代码将帮助您生成语言ID - > languageId的产品URL。
我们必须传递urlLangId,如果我们需要使用多种语言的URL,或者它总是拿起EN urlkeyword。
仅供参考 - ProductURL是模式XML文件中的模式名称。
尽管此代码片段可能会解决问题,包括* how *和* why的解释,这可以解决问题[真的有帮助](// meta.stackexchange.com/q/114762)以提高质量您的帖子。请记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请编辑您的答案以添加解释,并指出适用的限制和假设。 –
因为这是IBM应该如何完成的。 –