3

我正在构建一个融合插件,包括带有蓝图的蓝图向导对话框。但是当我尝试加载向导时,浏览器控制台中出现JS错误,

未捕获的错误向导指向一个不存在的 Soy 模板 OutputPlugin.Blueprints.Simple.page1Form'。检查您的网络资源或服务器日志。

我尝试过的是,

  • 检查服务器日志。没有证据。
  • 尝试清理并重新安装插件和 SDK。

但是,我已经将大豆添加到atlassian-plugin.xml文件中的网络资源中。

我按照 atlassian confluence 插件教程“编写中间蓝图插件

我正在使用 Confluence 6.14.0 和 atlasisian SDK 8.16.0

atlassian-plugin.xml

<web-resource key="ma2.create_wizard-resources" name="ma2.create_wizard Web Resources">
        ...
        <transformation extension="soy">
            <transformer key="soyTransformer">
                <functions>com.atlassian.confluence.plugins.soy:soy-core-functions
                </functions>
            </transformer>
        </transformation>

        ...
        <resource type="download" name="outputTemplate.soy.js" location="/soy/outputTemplate.soy" />
</web-resource>

<blueprint key="output-blueprint" content-template-key="output-template" index-key="output-index" i18n-name-key="output.blueprint.name">
        <content-template ref="output-template"/>
        <dialog-wizard key="outputTemplate-wizard">
            <dialog-page id="page1Id"
                         template-key="OutputPlugin.Blueprints.Simple.page1Form"
                         title-key="output.blueprint.wizard.page1.title"
                         description-header-key="test"
                         description-content-key="test1"
                         last="true"/>
        </dialog-wizard>
</blueprint>

输出模板.soy

{namespace OutputPlugin.Blueprints.Simple}
/**
* A form that accepts a person's name
*/ 
{template .page1Form}
    <form action="#" method="post" class="aui">
        <fieldset>
            <div class="field-group">
                <label for="contentvar">{getText('output.blueprint.form.label.title.vName')}</label>
                <input id="contentvar" class="text" type="text" name="contentVar">
            </div>
        </fieldset>
    </form>
{/template}
4

1 回答 1

2

终于找到了解决办法。第一个问题是我的服务器控制台没有记录必要的日志。只有 java jdk 和同步日志。所以我配置了这个 confluence 支持页面中提到的日志来拥有“com.atlassian.confluence.core”的所有日志。然后我发现了错误

[INFO] [talledLocalContainer] com.atlassian.soy.impl.QuieterSoySyntaxException:在文件 /soy/outputTemplate.soy 中:SoyDoc 的结尾不在行尾 [第 4 行,第 1 列]。

最后问题是大豆文档结束后的一个空格。

/**
 * A form that accepts a person's name
 */{space}

代替

/**
 * A form that accepts a person's name
 */
于 2019-08-09T06:02:11.187 回答