小编Nei*_*eiL的帖子

将事件/回调绑定到Java中的关键字

我是来自 javascript 背景的 Java 新手。

在 javascript 中,我们可以将回调保存在像这样的对象中 -

//we register some callback on a keyword
    var observerCallbacks = {};
     registerObserverCallback = function(eventname ,callback){
                observerCallbacks[eventname] =  callback;
            };
//For calling events
    notifyObservers = function(eventname){         
         observerCallbacks[eventname]();                               
            };
Run Code Online (Sandbox Code Playgroud)

用法 :

//Register event 
      registerObserverCallback('eventA',function(){
          //body of callback  
     });

//For calling event
notifyObservers('eventA');
Run Code Online (Sandbox Code Playgroud)

我正在寻找 Java 中的同等功能。有没有办法创建这种类型的自定义功能。

java events event-handling

5
推荐指数
1
解决办法
716
查看次数

无法在android中的xmpp服务器中连接

我正在使用Samck 4.1.0-alpha库来创建Xmpp客户端.我创建了有效的用户.我试图通过代码发送消息.但得到错误.代码:

new Runnable(){

            @Override
            public void run() {
                // TODO Auto-generated method stub
                ConnectionConfiguration config = new ConnectionConfiguration("jabb3r.org", 5222, "jabb3r.org");
                XMPPConnection connection = new XMPPTCPConnection(config);
                try {
                    connection.connect();
                    connection.login("USERNAME", "PASSWORD");
                    // Assume we've created a XMPPConnection name "connection"._
                    ChatManager chatmanager = ChatManager.getInstanceFor(connection);
                    Chat newChat = chatmanager.createChat("neilneil@jabb3r.org", new MessageListener() {
                        public void processMessage(Chat chat, Message message) {
                            System.out.println("Received message: " + message);
                        }
                    });

                    try {
                        newChat.sendMessage("Howdy!");
                    }
                    catch (XMPPException e) {
                        System.out.println("Error Delivering block");
                    }
//                  ConnectionException.getFailedAddresses();
                } catch …
Run Code Online (Sandbox Code Playgroud)

android xmpp smack

3
推荐指数
1
解决办法
1766
查看次数

由于在url中追加params,控制器被调用两次

我在angularjs.我试图在url中添加参数$location.search('sid', key);.key的值来自另一个服务器的http请求.这是append参数的代码.

.config(['$routeProvider',function ($routeProvider) {
        $routeProvider
            .when('/', {
                templateUrl: 'test1.html',
                controller: 'test1Controller'
            })
            .when('/message/:userId', {
                templateUrl: 'test2.html',
                controller: 'test2Controller'
            })
            .otherwise({
                redirectTo: '/'
            });
    }])
.run(['$route', '$rootScope', '$location' ,'getAuthDetails', function($route, $rootScope, $location,getAuthDetails) {
        var key;

        getAuthDetails.get().then(function(data){
            key = data.key;
            $rootScope.query = 'sid='+key;
            console.log($location.$$path);
            $location.search('sid', key);  //append parameter. This is calling controller twice
        });

        $rootScope.$on('$routeChangeSuccess', function () {
            $rootScope.query = 'sid='+key;
        });
    }]);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是.随着sid被添加到url中.该console.log放我test1Controller越来越调用两次.Sid用于连接套接字连接.

是否有任何解决方法在url追加后调用控制器.

javascript angularjs angular-ui-router

3
推荐指数
1
解决办法
1478
查看次数

Drupal 8 中的 HOOK_page_alter

我试图在每一页上附加一个树枝模板。
在 Drupal 7 中,我们基本上使用hook_page_alter

function hook_page_alter(&$page) { 
  $page['page_bottom']['devel']= array(
    '#type' => 'markup',
    '#markup' => '<div style="clear:both;">' . theme('TEST') . '</div>',
  ); // add test template on every page at bottom position.
}
Run Code Online (Sandbox Code Playgroud)

hook_page_alter我认为在 Drupal 8 中没有。

如何在 drupal 8 中做到这一点?

drupal drupal-8

0
推荐指数
1
解决办法
4242
查看次数