velocity模板中如何引用css和js?
How to reference css and js in velocity template?
我正在尝试访问我的 css 和 js 文件(位于 resources/css/stylesheet.css 和 ../js/..),但我不确定如何。
我已经尝试在 和 标签之间使用 $webResourceManager.requireResource(xxx:xxx) ,但它只是在网页上打印 $webRes... 。我还在头部使用了#requireResource(xxx:xxx)。它没有打印在页面上,但也没有用。
在atlassian-plugin.xml
<web-resource key="statPlugin-resources" name="statPlugin Web Resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="statPlugin.css" location="/css/statPlugin.css"/>
<resource type="download" name="statPlugin.js" location="/js/statPlugin.js"/>
<resource type="download" name="images/" location="/images"/>
<resource type="velocity" name="test" location="/templates/test.vm"/>
<context>statPlugin</context>
</web-resource>
在page.vm
<head>
<title>Stat Plugin Configuration</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
$webResourceManager.requireResource("com.tdk.plugin:statPlugin-resources")
<body>
...
</body>
Error message: Uncaught ReferenceError: addCard is not defined
at HTMLButtonElement.onclick (stat-config:33)
所以没有找到js文件
答案很简单,但很难找到,因为文档已过时。在我的第一次尝试中,我尝试使用不再被弃用的 WebresourceManager。你必须使用 ConfluenceWebresourceManager
。您可以在使用组件导入时访问它。
要为 Velocity 插件提供资源管理器,您必须使用
context.put("confluenceWebResourceManager",confluenceWebresourceManager");
在您的 servlet 的 doGet 或 doPost 中。
在模板本身中,您必须编写以下内容:
<head>
...
</head>
$confluenceWebResourceManager.requireResource("com.company.plugin.pluginName:pluginName-resources")
<body>
...
我正在尝试访问我的 css 和 js 文件(位于 resources/css/stylesheet.css 和 ../js/..),但我不确定如何。
我已经尝试在 和 标签之间使用 $webResourceManager.requireResource(xxx:xxx) ,但它只是在网页上打印 $webRes... 。我还在头部使用了#requireResource(xxx:xxx)。它没有打印在页面上,但也没有用。
在atlassian-plugin.xml
<web-resource key="statPlugin-resources" name="statPlugin Web Resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="statPlugin.css" location="/css/statPlugin.css"/>
<resource type="download" name="statPlugin.js" location="/js/statPlugin.js"/>
<resource type="download" name="images/" location="/images"/>
<resource type="velocity" name="test" location="/templates/test.vm"/>
<context>statPlugin</context>
</web-resource>
在page.vm
<head>
<title>Stat Plugin Configuration</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
$webResourceManager.requireResource("com.tdk.plugin:statPlugin-resources")
<body>
...
</body>
Error message: Uncaught ReferenceError: addCard is not defined at HTMLButtonElement.onclick (stat-config:33)
所以没有找到js文件
答案很简单,但很难找到,因为文档已过时。在我的第一次尝试中,我尝试使用不再被弃用的 WebresourceManager。你必须使用 ConfluenceWebresourceManager
。您可以在使用组件导入时访问它。
要为 Velocity 插件提供资源管理器,您必须使用
context.put("confluenceWebResourceManager",confluenceWebresourceManager");
在您的 servlet 的 doGet 或 doPost 中。
在模板本身中,您必须编写以下内容:
<head>
...
</head>
$confluenceWebResourceManager.requireResource("com.company.plugin.pluginName:pluginName-resources")
<body>
...