我创建了一个动态属性来处理导航节点条目的可见性,与Hybris的所有相关规则兼容.我能够在
Java代码中达到属性而不会遇到任何问题,但我无法让JSP解释它.我的DynamicAttributeHandler类顺利工作但JSP在读取时失败了.这些是创建属性的步骤:
1)items.xml
java.lang.Boolean.TRUE
2)NavigationNodeVisibilityAttributeHandler.java
@Override
public Boolean get(CMSNavigationNodeModel model) {
if (model != null) {
for(CMSNavigationEntryModel cmsNavigationEntry:model.getEntries()){
if(cmsNavigationEntry.getItem() instanceof CMSLinkComponentModel){
CategoryModel category= ((CMSLinkComponentModel)cmsNavigationEntry.getItem()).getCategory();
if((category.getVisibility()== null || category.getVisibility() ) && ActiveProductStatus.ACTIVE == category.getActiveProductStatus()
&& ManageCategoryByDateStatus.ACTIVE == category.getManageCategoryByDateStatus()){
return Boolean.TRUE;
}
}
}
return Boolean.FALSE;
}
return null;
}
3)注册bean
4)蚂蚁清洁所有&&蚂蚁更新系统
每当我在jsp文件中调用它时,我都会遇到类似“..处理JSP页面时发生异常……”的错误.
${cx.navigationNodeVisibility}
以这种方式调用属性并没有抛出异常,但在我的情况下必须在for循环中使用它.
${component.navigationNode.children [0] .navigationNodeVisibility}
任何帮助或建议将非常感激
注意:${cx.getNavigationNodeVisibility()}确实抛出了相同的JSP异常.
编辑:JSP异常示例
WARN [hybrisHTTP14] [XXXXXXXXXXXX] [DefaultCMSComponentRendererRegistry] Error processing component tag. currentComponent [CategoryNavigationComponentModel (8796098036796@1)] exception: An exception occurred processing JSP page /WEB-INF/views/responsive/cms/categorynavigationcomponent.jsp at line 14
11:
12:
13:
14:
15:
16:
17: