Как вызвать метод Java в JavaScript в Сенча? - PullRequest
0 голосов
/ 26 марта 2012

Я новичок в Сенча Touch. Я хочу вызвать свой метод Java в моем файле .js. Нажатием кнопки я хочу, чтобы мой метод Java был вызван.

Java-метод, который я хочу вызвать, таков:

//UserManager.java
public class UserManager extends BaseManager{
...
 public boolean validateUser(String email)
{
    UserDAO userDAO = new UserDAO();
    boolean result = false;
    try {
        result = userDAO.validateUser(email);
    } catch (SQLException e) {
        log.error(e.getMessage(),e.getCause());
    }
    return result;

}
}

Мой javascript-файл sencha выглядит так:

{
   xtype: 'button',
   text: 'Login',
   handler: function() {
//something like this i want:
                        //str=UserManager.validateUser('a@gmail.com')
                        //alert(str);
                         if(UserManager.validateUser('a@gmail.com'))
                         polling.Viewport.setActiveItem('QPanel', {type:'slide', direction:'left'});
                        else
                        alert("failed");
                    }
                },

Пожалуйста, дайте мне знать, как мне вызвать метод java внутри этого javascript в sencha? Спасибо.

1 Ответ

1 голос
/ 26 марта 2012

в моем проекте (мы используем extjs), я использую Spring MVC. Итак, у меня есть все методы Java в контроллере. Итак, когда мне нужно вызвать его из JavaScript, мы делаем это через

  • Ajax call:

    Ext.Ajax.request({
        url: 'getCustomerList',
        success: function(result, action){
    
        },
        failure: function(result, action){
    
        },
        params: { customerName: Ext.getCmp('name').getValue() }
    

    });

  • Якорный тег:

    autoEl:{ tag: 'a', href: 'getCustomerList', cn : 'customers' }

в обоих случаях getCustomerList будет отображаться с помощью метода RequestMapping контроллера Spring.

...