the*_*ega 8 java templates wicket
Hy,我想在某个条件下显示我的wicket模板的某个部分(例如div)(例如,只有我有数据填充它).问题是:
如果我只是添加了面板(填充div),如果我得到数据,每次调用没有数据的页面时都会抛出异常(因为引用的wicket-id没有添加到组件树中).
我想到的唯一解决方案是在没有数据的情况下添加一个空面板.这不是一个理想的解决方案,因为我在java代码中得到了一些不需要的代码,并且在我渲染的html中有很多空div.
那么是否有更好的解决方案只在条件下包含wicket模板的几个部分?
虽然这是一个老问题,但这里可能是另一个解决方案:wicket:enclosure (and this )
更新:现在我自己需要这个功能(对于jetwick)。我使用 WebMarkupContainer 一个用于登录状态,一个用于登录状态并设置正确的可见性:
if (loggedIn()) {
WebMarkupContainer loggedInContainer = new WebMarkupContainer("loggedIn");
//## do something with the user
User user = getUserSomeWhere();
loggedInContainer.add(new UserSearchLink("userSearchLink"));
add(loggedInContainer);
add(WebMarkupContainer("loggedOut").setVisible(false));
} else {
add(new WebMarkupContainer("loggedIn").setVisible(false));
WebMarkupContainer loggedOutContainer = WebMarkupContainer("loggedOut");
loggedOutContainer.add(new LoginLink() {...});
add(loggedOutContainer);
}
Run Code Online (Sandbox Code Playgroud)
对我来说,这样做的好处是我可以防止在 //## 标记行中出现 NullpointerExc,并且我认为在这种情况下,wicket 的封闭功能对我来说看起来更难看。
| 归档时间: |
|
| 查看次数: |
7959 次 |
| 最近记录: |