我试图让我的HMENU的第二级不同,具体取决于父ID是什么。
具体来说,当pid是特定数字时,我需要向TMENU添加COA。
我认为我应该可以使用CASE以某种方式做到这一点,但我没有找到正确的设置来使其正常工作。
这是我的错误代码,显示了我想要做的事情:
lib.mymenu = HMENU
lib.mymenu {
1 = TMENU
1 {
...
}
2 = CASE
2 {
key.field = pid
default = TMENU
default {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO.wrapItemAndSub = <li>|</li>
}
23 = TMENU
23 {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO.stdWrap.cObject = COA
NO.stdWrap.cObject {
...
}
}
}
}
答案 0 :(得分:2)
我怀疑你那个级别的pid是否可用 由于主要部分是相同的,我只能在stdWrap中使用简单的if-wrap:
2 = TMENU
2 {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
/// what wrap do you want to use???
stdWrap.wrap {
cObject = COA
cObject {
:
}
if.equals.field = pid
if.value = 23
}
}
在您的代码中,您还使用cObject
stdWrap
上的stdWrap
不匹配,因为List<List<String>> l = new ArrayList<>();
l.add(Arrays.asList("4", "5", "3", "2"));
l.add(Arrays.asList("7", "1", "0", "9"));
l.add(Arrays.asList("8", "4", "3", "1"));
for (int i = 0; i < l.size(); i++) {
System.out.println(i + " : " + l.get(i));
}
不是活动包装,而是一组(包装)函数的容器。