微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在蓝图开发的模板中添加当前用户和当前日期

如何解决在蓝图开发的模板中添加当前用户和当前日期

我完成了 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 设置用户密钥,也无法获取页面创建者值。

因此;

  1. 如何将当前日期添加到模板页面
  2. 如何将用户提及添加到模板页面
  3. 如何获取页面的创建者?

已经感谢您的所有兴趣。

祝您有美好的一天!

解决方法

答案也来自我。

在模板的 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 举报,一经查实,本站将立刻删除。