【发布时间】:2016-10-04 13:30:26
【问题描述】:
我正在尝试使用 Sightly 将链表类型的自定义对象列表转换为 html。但我无法将它们看在眼里。示例代码粘贴在下面:
Java Bean:
public class MiniNavBean {
private String fPath;
private String activeAttr;
public MiniNavBean(String fPath, String activeAttr){
this.fPath = fPath;
this.activeAttr = activeAttr;
}
public String getFpath() {
return fPath;
}
public void setFpath(String fpath) {
this.fPath = fpath;
}
public String getActiveattr() {
return activeAttr;
}
public void setActiveattr(String activeattr) {
this.activeAttr = activeattr;
}
}
扩展 WCMUsePojo 的 Java 类:
public class MiniNav extends WCMUsePojo {
private List<MiniNavBean> navList;
MiniNavBean miniNav;
public List<MiniNavBean> getNavList() {
return navList;
}
public void setNavList(List<MiniNavBean> navList) {
this.navList = navList;
}
@Override
public void activate() {
navList = new LinkedList<MiniNavBean>();
fPath = "fpaths";
activeAttr = "activeattrs;"
miniNav = new MiniNavBean(fpath, activeattr);
navList.add(miniNav);
}
}
Html 文件(Sightly):
<div data-sly-include="/apps/project/components/global.jsp"></div>
<div data-sly-use.mininav="com.components.MiniNav" data-sly-unwrap>
<div data-sly-list.navlist="${mininav.navList}">
<li>
<p>${navlist.fPath}</p>
<p>${navlist.activeAttr}</p>
</li>
</div>
当我尝试执行上述代码时,我可以看到链表被 java 类中的数据实例化。但是,当我尝试在前端显示列表的值时,视觉上无法读取它。
由于 LinkedList 是 CustomObject 类型(MiniNavBean),我怀疑它无法读取它,因为它不知道这个 bean,因为我们没有在任何地方引用那个 bean。有没有办法使用清晰的标签来解决这个问题并读取数据?
【问题讨论】: