2012-03-26 51 views
0

我是新來的sencha touch。我想在我的.js文件中調用我的Java方法。點擊按鈕我想要我的java方法被調用。如何在sencha中的javascript中調用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文件看起來是這樣的:

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

請讓我知道我怎麼調用Java方法這個JavaScript裏面在sencha? 謝謝。

回答

1

在我的項目中(我們使用的是extjs),我使用的是spring mvc。所以,我在控制器中擁有所有的java方法。所以,當我需要從JavaScript調用它,我們這樣做是通過

  • Ajax調用:

    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方法映射。

+0

您在不同的軟件包中調用的java類是否一起?你的意思是所有普通的java類都應該保存在容器中,並且必須從那裏調用? – 2012-04-16 00:03:15