点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我在Hybris中创建C...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我在Hybris中创建C...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我在Hybris中创建CMS组件,尝试使用控制器时遇到问题。 我创建了一个运行以下命令的新插件:
蚂蚁extgen -Dinput.template = yaddon -Dinput.name = mediaaddon -Dinput.package = com.myapp.mediaaddon
1)我使用
在我的店面中安装了插件 ant addoninstall -Daddonnames =" mediaaddon" -DaddonStorefront.yb2bacceleratorstorestore =" MyB2BStorefront"
2)我在XML文件 mediaaddon-items.xml
中创建了模型3)我确实做了 antant
4)然后,我在 mediaaddon/acceleratoraddon/web/src/com/myapp/controllers/cms/CMSVideoComponentController.java ,并显示以下代码:
/**
*
*/
包com.myapp.controllers.cms;
导入javax.servlet.http.HttpServletRequest;
导入de.hybris.platform.acceleratorstorefrontcommons.controllers.cms.AbstractCMSComponentController;
导入org.apache.commons.lang.StringUtils;
导入org.apache.log4j.Logger;
导入org.springframework.stereotype.Controller;
导入org.springframework.ui.Model;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RequestMethod;
导入com.mycompany.model.CMSVideoComponentModel;
导入com.mycompany.constants.MediaaddonConstants;
@Controller(" CMSVideoComponentController")
@RequestMapping(值= MediaaddonConstants.Actions.Cms.CMSVideoComponent)
公共类CMSVideoComponentController扩展了AbstractCMSComponentController
{
私有静态最终Logger LOG = Logger.getLogger(CMSVideoComponentController.class);
//@Resource(name =" modelService")
//私人ModelService modelService;
@Override
受保护的void fillModel(最终HttpServletRequest请求,最终模型模型,最终CMSVideoComponentModel组件)
{
LOG.info("我传入CMSVideoComponentController fillmodel方法");
}
@RequestMapping(值="/img/testController",方法= RequestMethod.GET)
公共无效的testController()
{
}
@Override
受保护的String getView(最终CMSVideoComponentModel组件)
{
//记录少量信息以进行调试
LOG.info(" >>>>> CMSVideoComponentController.getView(最终T组件)");
LOG.info(" getTypeCode(component):" + getTypeCode(component));
LOG.info(" StringUtils.lowerCase(getTypeCode(component)):" + StringUtils.lowerCase(getTypeCode(component)));
LOG.info(" MediaaddonConstants.Views.Cms.ComponentPrefix:" + MediaaddonConstants.Views.Cms.ComponentPrefix);
LOG.info(" return:" + MediaaddonConstants.Views.Cms.ComponentPrefix + StringUtils.lowerCase(getTypeCode(component)));
LOG.info(" <-------------------------------------------- ----------->");
//根据组件类型构建一个jsp响应
返回MediaaddonConstants.Views.Cms.ComponentPrefix + StringUtils.lowerCase(getTypeCode(component));
}
/**
* @参数模型服务
*要设置的modelService
*/
//public void setModelService(final ModelService modelService)
//{
//this.modelService = modelService;
//}
}
6)而我的常数就像
公共界面视图
{
接口Cms//NOSONAR
{
字符串ComponentPrefix =" addon:/Mediaaddon/cms/"; //NOSONAR
}
//隐藏的代码
}
7),而我的JSP位于 mediaaddon/acceleratoraddon/web/webroot/WEB-INF/views/sensitive/cms/cmsvideocomponent.jsp em>
8)然后,我全部清理
9)我运行 hybrisserver.bat 并等待 <罢工> 时间过长 用于服务器启动。
10)我将组件添加到了CMSCockpit中,并将所有其他步骤添加到了主页中。
现在这里发生两个问题:
访问主页时,收到以下错误:处理组件标签时出错。 currentComponent [CMSVideoComponentModel(8796191360060 @ 3)]例外:未找到文件"/WEB-INF/views/response/cms/cmsvideocomponent.jsp" ,我意识到该文件已在店面中的以下位置复制:< strong>/WEB-INF/views/addons/mediaaddon/cms/cmsvideocomponent.jsp
我的控制器已复制到 web/addonsrc/mediaaddon/br/com/targetit/controllers/cms/CMSVideoComponentController.java
我几天试图使我的控制器正常工作(因为未在控制台中写入控制器的日志)并将我的jsp文件复制到正确的路径。 我试图将值从控制器传递到jsp,但它不起作用。
任何人都可以帮助您了解实际情况吗?
我认为不是yb2bacceleratorstorefront。 它应该是自定义店面名称。 Exp- Mystorefront
一周热门 更多>