0 0

怎么实现javascript中调用java类中的方法5

body中部分代码如:<center><font size="4" color="red">吊灯</font> <input type="button" id="diaodeng" value=<%=state[0]%> onclick="dianji1()"><br><br><br><br></center>
script中的的代码如下:
function dianji1(){      
       var abc=document.getElementById("diaodeng");
       if(abc.value=="on"){          
               abc.value="off";       
         }
       else{          
              abc.value="on";          
        }
     }
要求是通过点击按钮能够调用java类中的方法从而修改数据库中的内容
2014年5月14日 15:59

14个答案 按时间排序 按投票排序

0 0

采纳的答案

$("button").click(function(){
  $.post("/foo/usr/11",function(data){
   
  });
});

jquery post方法调用java方法修改数据库

2014年5月14日 16:02
0 0

这取决于你的运行环境,大致分为如下:

1. 如果你js是运行在 java虚拟机之上,那么直接调用就行

2. 如果你js运行在浏览器上,可以参考 RPC ,比如 dwr 这种东西说白了就是这种实现的一种

3. rmi

2014年5月15日 16:16
0 0

1. 使用DWR框架
2. 使用AJAX方式

2014年5月15日 11:03
0 0

这是我自己做的

          $.sjw.ajax(
            {
                className: "me.jarvis.simplejweb.demo.ajax.DemoAjax",
                method: "testCall",
                param: {demoInt: 1, demoString: "s"},
                success: function (result)
                {
                    alert(result.demoDate)
                }
            });


java类里这么写

public class DemoAjax
{
    private Integer demoInt;
    private String demoString;
    private Date demoDate;

    public void testCall()
    {
        //实现代码
    }

    public Integer getDemoInt()
    {
        return demoInt;
    }

    public String getDemoString()
    {
        return demoString;
    }

    public Date getDemoDate()
    {
        return demoDate;
    }

    public void setDemoDate(Date demoDate)
    {
        this.demoDate = demoDate;
    }

    public void setDemoInt(Integer demoInt)
    {
        this.demoInt = demoInt;
    }

    public void setDemoString(String demoString)
    {
        this.demoString = demoString;
    }
}

只要有get的,就会返回到回调函数


怎么做自己可以试试,思想就是这样的,代码不到100行

2014年5月15日 10:35
0 0

想在js中直接调用java方法都不可能;
我们只能借助js中调用远端服务的方式实现间接使用;有几种比较好的方式:
一、通过DWR框架,这个虽也是基于AJAX,但其使用起来感观上感觉直接调用JAVA方法一样;

二:使用传统的一些JS框架,如jquery,prototype,moontools等;

希望以上这些可以帮助你;

2014年5月15日 09:48
0 0

通过javascript或者js框架提交get或者post请求到java的控制层组件,然后由组件进行分发到对应的处理类,调用对应的方法,也可以通过dwr,直接异步调用对应的java的类的方法

2014年5月15日 09:05
0 0

简单的可采用Jquery的Ajax和JSON,可以参考我的博客文章
http://quarterlifeforjava.iteye.com/blog/2024336

2014年5月15日 08:39
0 0

在你的if判断中可以加入ajax的请求。
有$.post和$.ajax。比如,你想在等于on的时候去提交请求,并且把on以参数方式提交后台。

function dianji1(){      
       var abc=document.getElementById("diaodeng");
       if(abc.value=="on"){  
          $.ajax({url: '../../', //你的请求路径
type: 'POST',    //提交方式,用Post即可。
data:{diaodeng:"on"},  //提交参数
success: function(result){
//这里面是处理返回的结果,如果你没有对结果处理的业务可以不写。
或者如果,你后台返回的true,那么判断为true,就可以吧value变更为off
   if(result == 'true'){
     abc.value="off";
   }
}
});
                      
         }
       else{          
              abc.value="on";          
        }
     }



2014年5月14日 20:37
0 0

function dianji1(){      
       var abc=document.getElementById("diaodeng");
       if(abc.value=="on"){          
               abc.value="off";       
         }
       else{          
              abc.value="on";          
        }
     }

在你的if判断中可以加入ajax的请求。
有$.post和$.ajax。比如,你想在等于on的时候去提交请求,并且把on以参数方式提交后台。

$.ajax({url: '../../', //你的请求路径
type: 'POST',    //提交方式,用Post即可。
data:{diaodeng:"on"},  //提交参数
success: function(result){

}
});

2014年5月14日 20:34
0 0

Jquery Ajax后台简单交互$.get(url, params, callback)

用GET方式请求装入远程页面

返回值:XMLHttpRequest

参数:
url (String):装入页面的URL地址
params (Map):(可选)发送到服务端的键/值对参数
callback (Function):(可选)当远程页面装入完成时执行的函数

如果您需要带参数只需要
$.get("get.html",{参数名称1:"参数1值",参数名称2:"参数2值"},function(data){
$("#show").html(data);
})

$.post(url, params, callback)

用HTTP POST方式装入一个远程页面

返回值:XMLHttpRequest

参数:
url (String):装入页面的URL地址
params (Map):(可选)发送到服务端的键/值对参数
callback (Function):(可选)当数据装入完成时执行的函数

范例



Html

<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>

<script type="text/javascript">
        function info(){
             $.ajax({
                    type:"POST",
                    url:"UserPort/Default.aspx",
                    data:{Name:$("#txtUserName").val(),Pwd:$("#txtPwd").val()},
                    beforeSend:function(){$("#message").html("载入中…");},
                    success:function(data){
                    $("#message").html(decodeURI(data));
                    }
                 });
            }
</script>

<div>
    账号:<input type="text" id="txtUserName" /><br />
    密码:<input type="text" id="txtPwd" /><br />
    <input type="button" value="获取" onblur="info();" /><br />
    <label id="message">
    </label>
</div>





Default.aspx.cs

using System;

public partial class UserPort : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);
        Response.Write("账号: " + Request["UserName"] + ",密码:"+Request["Pwd"]+"(来源于服务器端)");
    }
}

2014年5月14日 18:51
0 0

一般这种设计是 ajax 实现的,你可以参考jquery 的ajax

2014年5月14日 16:59
0 0

调用不了,一个在客户端一个在服务器怎么调用,只能请求服务器去执行,请求的方式正如楼下们的回答

2014年5月14日 16:53
0 0

function createXMLHttp() {     
    var XmlHttp; 
    if (window.ActiveXObject) 
    { 
        var arr=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"]; 
        for(var i=0;i<arr.length;i++) { 
            try { 
                XmlHttp = new ActiveXObject(arr[i]); 
                return XmlHttp; 
            } 
            catch(error) { } 
        } 
    } else { 
        try { 
            XmlHttp=new XMLHttpRequest(); 
            return XmlHttp; 
        } 
        catch(otherError) { } 
    }  
}  
 
function xmlPost() {         
   var xmlHttp = createXMLHttp(); 
   var url= 你的Action地址 
xmlHttp.open('GET',url,true);      
xmlHttp.onreadystatechange = function() {       
   if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { 
        var result = xmlHttp.responseText; 
        if (result && result.length > 0){ 
            result = result.split(','); 
            var left; 
            for (var i=0; i<result.length; i++){ 
                left = document.getElementById('left_' + result[i].split(':')[0]); 
                if (left){ 
                    left.innerHTML = result[i].split(':')[1]; 
                } 
            } 
        } 
     } 
   } 
   xmlHttp.send(''); 

2014年5月14日 16:24
0 0

楼下的赞同,同意的你也可以用Ajax,或者直接
$("button").click(function(){ 
//直接跳转
  window,location.href='进入的action地址,在action里面进行数据操作,以及去service或者dao层去修改数据';
});

2014年5月14日 16:11

相关推荐

    《kettle中调用java类》示例代码

    在标题《kettle中调用java类》示例代码中,我们关注的是如何在Kettle的转换或作业中嵌入Java代码,以实现更复杂的数据处理逻辑。 首先,Kettle支持两种方式来调用Java类:使用“Java Class”步骤和使用“Execute ...

    在JavaScript中调用Java类和接口的方法

    在JavaScript中调用Java类和接口的方法是一种跨语言交互的方式,尤其在JavaScript引擎如Nashorn中,这种交互变得可能。以下将详细解释如何在JavaScript中实现这一目标。 首先,要访问Java类,你需要使用`Java.type...

    js调用java类的方法

    本文将深入探讨如何使用JavaScript调用Java类的方法,以实现客户端和服务器端的有效沟通。 首先,理解JavaScript(JS)和Java的运行环境差异至关重要。JS主要在浏览器环境中运行,负责处理用户交互和动态内容,而...

    springboot整合dwr实现js调用java方法

    通过DWR,开发者可以在不涉及繁琐的AJAX请求和响应处理的情况下,直接在JavaScript中调用Java对象的方法,使得前端和后端的通信变得更为便捷。 **整合SpringBoot与DWR** 1. **添加依赖**:在SpringBoot项目的`pom....

    dwr实例,JavaScript调用java方法的小例子

    配置包括定义允许JavaScript调用的Java类和方法,以及设置安全策略等。 2. **反转Ajax**:DWR的核心概念是“反转Ajax”,即不再由服务器决定何时与客户端通信,而是由客户端决定何时调用服务器的方法。这使得用户...

    android webview中使用Java调用JavaScript方法并获取返回值

    当JavaScript执行完毕并准备好将结果返回给Java时,它会通过window.stub.jsMethod(result)来调用Java中相应的方法,并传递一个参数result。 在JavaScript代码中,可以使用window.stub.jsMethod()来调用Java的方法。...

    kettle中使用js调用java类的方法

    本文将围绕这些方面展开,详细讲解在kettle中实现JavaScript调用Java类方法的知识点。 首先,为了能在kettle中使用JavaScript调用Java类方法,需要做的是将含有Java类的jar包放置在kettle安装目录下的libext文件夹...

    Java调用javaScript代码

    本文将深入探讨“Java调用JavaScript代码”的技术实现,以及它在实际项目中的应用场景。 Java和JavaScript虽然名字相似,但它们是两种完全不同的编程语言,各自有其特定的用途。Java是一种静态类型的、面向对象的...

    初学者能够很快的学会各种java方法在javascript中是如何调用的。

    【标题】与【描述】提到的主题是关于初学者如何快速掌握在JavaScript中调用Java方法,通过使用DWR(Direct Web Remoting)这一开源项目。DWR使得AJAX(Asynchronous JavaScript and XML)的应用变得简单易行,从而...

    javascript后台调用的工具类

    JavaScript 后台调用工具类是一种实用的编程资源,它为开发者提供了在后台环境中使用 JavaScript 进行操作的便利。这个工具类旨在简化JavaScript代码,让开发者能够更高效地进行项目开发,尤其对于不熟悉JavaScript...

    android中实现JavaScript与Java之间实现互相调用

    在这个例子中,JavaScript可以通过`android.showToast()`调用Java中的`showToast()`方法,从而在Android设备上显示一个吐司消息。 六、总结 通过以上介绍,我们可以看出Android中的WebView组件是实现Java与...

    webview组件javascript调用java的小程序

    这个"webview组件javascript调用java的小程序"就是一个实例,展示了如何实现这种通信机制。下面我们将深入探讨这个主题。 首先,WebView是Android SDK提供的一种视图类,它能够加载和显示HTML、CSS和JavaScript内容...

    Android中在WebView里实现Javascript调用Java类的方法

    以上内容涵盖了在Android WebView中实现JavaScript调用Java类方法的核心知识,包括如何设置WebView以支持JavaScript,如何映射Java对象到JavaScript对象,以及如何定义Java类和方法供JavaScript调用。这些技术点都是...

    使用Web页面实现英文词典(Javascript 调用Java方法)

    描述中提到的“JavaScript调用Java方法”揭示了我们的技术栈。通常,JavaScript通过Ajax(Asynchronous JavaScript and XML)或者现在更常用的Fetch API向服务器发送异步请求。这些请求会调用Java服务端的方法,这些...

    Android javascript 调用本地Java函数

    这里的`"android"`是JavaScript中调用Java方法的命名空间,即在JavaScript中,我们可以通过`android.doSomething("参数")`来调用Java的`doSomething`方法。 **三、JavaScript与Java通信的限制** 需要注意的是,为了...

    android demo,webview_js(webview的js方法调用java方法)。

    本示例“android demo,webview_js”着重展示了如何通过Webview实现JavaScript调用Java方法的功能。这个功能对于创建混合式应用或者在原生应用中嵌入HTML5页面尤其有用。 首先,我们需要在Android布局文件中添加一...

    3.jni_c++调用java中的方法

    在本主题中,我们将深入探讨如何使用C++通过JNI来调用Java中的方法,以及如何实现C++与JavaScript的互调。这在跨平台开发、性能优化或利用现有C/C++库时尤其有用。 首先,我们需要理解JNI的基本结构。JNI接口定义了...

    java javascript 调用命令行 cmd

    在Java中,我们可以使用`Runtime`类或`ProcessBuilder`类来执行命令行操作。 1. **使用Runtime.exec()** `Runtime.getRuntime().exec(command)` 是最基础的方法,用于执行指定的系统命令。`command`参数是一个字符...

    dwr dwr项目 js 调用 java 后台 方法 js调用java后台方法 后台方法 异步

    通过这个项目,开发者可以实践DWR的完整流程,从配置到实现JavaScript调用Java方法。 总结来说,DWR是一个强大的工具,使得Web开发者可以方便地构建AJAX应用,实现JavaScript与Java后台的无缝交互,提高用户体验。...

Global site tag (gtag.js) - Google Analytics