使用ToolManager
我可以通过SiteService
获取当前展示位置,背景信息以及网站。但我想获取用户当前正在访问的当前SitePage属性。
这个疑问可以扩展到当前的工具属性 考虑到一旦我拥有了工具,我就无法做到这一点 找到涵盖其属性的任何方法。
我可以通过Properties
使用sitepage.getTool(TOOLID).getConfig()
来获取工具属性并使用它(通过实例)。要保存属性,我使用ToolConfiguration
方法并在使用ToolConfiguration.save()
方法进行编辑后保存数据。这是正确的做法吗?
答案 0 :(得分:4)
您可以通过获取当前工具会话然后从此向后工作来完成此操作。这是一个应该这样做的方法。
public SitePage findCurrentPage() {
SitePage sp = null;
ToolSession ts = SessionManager.getCurrentToolSession();
if (ts != null) {
ToolConfiguration tool = SiteService.findTool(ts.getPlacementId());
if (tool != null) {
String sitePageId = tool.getPageId();
sp = s.getPage(sitePageId);
}
}
return sp;
}
或者,您可以使用当前工具来实现它,但我认为这种方法更难。
String toolId = toolManager.getCurrentTool().getId();
String context = toolManager.getCurrentPlacement().getContext();
Site s = siteService.getSite( context );
ToolConfiguration tc = s.getTool(toolId);
String sitePageId = tc.getPageId();
SitePage sp = s.getPage(sitePageId);
注意:我尚未测试此代码以确保其有效。