2015-02-08 19 views
1

我试图做一个简单的HelloWorld插件使用Atlassian的,连播放的Java:附加组件没有响应。等待还是取消?

我的控制器:

package controllers; 
import views.html.*; 
import com.atlassian.connect.play.java.controllers.AcController; 
import com.google.common.base.Supplier; 
import play.mvc.Controller; 
import play.mvc.Result; 
public class Application extends Controller { 
    public static Result index() 
    { 
     return AcController.index(home(), descriptor()); 
    } 
    private static Supplier<Result> descriptor() 
    { 
     return new Supplier<Result>() 
     { 
      @Override 
      public Result get() 
      { 
       return AcController.descriptor(); 
      } 
     }; 
    } 
    private static Supplier<Result> home() 
    { 
     return new Supplier<Result>() 
     { 
      @Override 
      public Result get() 
      { 
       return ok(index.render("Hello")); 
      } 
     }; 
    } 
} 

我的路线文件:

GET/controllers.Application.index() 
GET /assets/*file controllers.Assets.at(path="/public", file) 
->/ac.Routes 

我的指标: scala.html文件:

@(message: String) 
@main("Welcome to Play") { 
     <p>@message</p> 

} 

我main.scala.html文件:

@(title: String)(content: Html) 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>@title</title> 

     <script src="http://localhost:1990/confluence/atlassian-connect/all.js" type="text/javascript"></script> 
     <link rel="stylesheet" href="//aui-cdn.atlassian.com/aui-adg/5.4.3/css/aui.css" media="all"> 
     <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> 
     <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")"> 
     <script src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")" type="text/javascript"></script> 
    </head> 
    <body> 
     <div class="ac-content"> 
     <p>@content</p> 
    </div> 

    </body> 
</html> 

我Atlassian的-connect.json文件:

{ 
    "key": "${addonKey}", 
    "name": "${addonName}", 
    "description": "Atlassian Connect add-on", 

    "baseUrl": "${localBaseUrl}", 
    "vendor": { 
     "name": "Atlassian", 
     "url": "http://www.atlassian.com" 
    }, 
    "authentication": { 
     "type": "none" 
    }, 

    "modules": { 
    "generalPages": [ 
     { 
     "url": "/", 
     "key": "test-application", 
     "location": "system.user", 
     "name": { 
      "value": "Test" 
     } 
     } 
    ] 
    }, 
    "scopes": ["READ"] 
} 

当运行我的播放应用,这一切工作正常。

但是,当我在合流的本地实例安装我的插件并启动它的附加内容从未停止装载,我得到以下信息:

附加没有响应。等待还是取消?

我试图找到问题,但我不能,有人可以帮忙吗? 谢谢。

回答

3

所有Atlassian Connect附加组件需要加载all.js Javascript资源,以便它可以在您的附加组件和主机环境之间创建桥梁。装载机坐在那里,等待桥梁建成。这意味着你不包括all.js

做的一个例子:https://bitbucket.org/atlassian/whoslooking-connect/src/9066821fe168737b94d5b1e8ad520befb200ec99/app/views/poller.scala.html?at=master#cl-43

仔细检查您的浏览器的错误控制台但如果不能解决你的问题。它可能会提示问题是什么。同时检查网络选项卡(可能是重新加载)以确保所有资源加载。

某些框架默认会发出X-Frame-Origin: SAMEORIGIN标题,导致浏览器不会加载iframe的内容。这不应该是atlassian连接播放的情况。

+0

是的,只好把这个放在头上:'' – 2015-12-04 20:16:09

1

谢谢您的回应:)

我在描述符中指定的url无效。一个简单的“/”或一个空的url“”没有被合流接受,所以我不得不将它改为“/ home”并更改我的路线文件。