如何解决在蓝图开发的模板中添加当前用户和当前日期
我完成了 Atlassian https://developer.atlassian.com/server/confluence/tutorials-and-guides/ 的简单、中级和高级蓝图教程。
目前,我有一个用于蓝图向导页面的 soy 文件和一个 js 文件;一个 Java 文件作为上下文提供者,一个 xml 文件作为模板。
我很容易地将当前日期添加到标题中。我还想在发送用户编辑之前将当前日期和当前用户(页面创建者)插入页面。 (例如;默认会议记录蓝图)。但是我找不到如何在模板中设置这些值。
在xml模板中,当前日期格式如下:
<time datetime="2021-02-17"/>
因此,我无法为日期时间值添加诸如“”之类的内容。因此,我无法从上下文提供程序类更改它。
此外,我尝试通过 Javascript 和 JQuery 设置此值,但是我只能更改有关向导页面的内容。我无法操作实际的模板页面。
<ri:user ri:userkey="2c9680f7405147ee0140514c26120003"/>
但是,我无法通过 Java 设置用户密钥,也无法获取页面创建者值。
因此;
已经感谢您的所有兴趣。
祝您有美好的一天!
解决方法
答案也来自我。
在模板的 xml 中,我们为启用 XHTML 支持的日期和用户添加了两个变量:
<at:var at:name="currentDate" rawxhtml=true />
<at:var at:name="currentUser" rawxhtml=true />
在上下文提供者类中,我们将使用 html 标签设置这些变量:
context.put("currentDate","<time datetime=\" + sdf.format(new Date()) + "\"/>");
context.put("currentDate","<ri:user ri:userkey=\" + AuthenticatedUserThreadLocal.get().getKey() + "\"/>");
其中 context
是蓝图的上下文映射,sdf
是具有预定义日期(不是日期-时间)格式的 SimpleDateFormat
类的实例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。