「js调用java类」java如何调用js

博主:adminadmin 2023-01-11 11:30:18 887

本篇文章给大家谈谈js调用java类,以及java如何调用js对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

使用EXTJS时,在*.js文件中怎么调用Java类中的方法

this.store = new Ext.data.Store({

proxy:new Ext.data.HttpProxy({

method:'POST',

//这里是访问action的路径 也可以是任意文件路径

url:'gridDatafilter.action' }),

reader:new Ext.data.JsonReader({

root:'rows',

totalProperty: 'total',

fields:['Name','Sex','Phone','Email']

})

});

this.body = new Ext.grid.GridPanel({

store:this.store,

stripeRows: true,

loadMask: true,

.

jsp 如何调用java类 初学

不知道你用dwr试过没有,一般在前端调用java类都是使用dwr因为它是专为,从页面调用后台的java类产生的。以HelloWorld为例假设后台有一个实体类HelloWorld

public class HelloWorld {

public String hello(String name){

return "helloworld"+"name="+name+"now time="+new Date().toLocaleString();

}

}

1.引入dwr的jar包

2.将dwr.xml文件copy到web-INF目录下

配置:

dwr

allow

create javascript="HelloWorld" creator="new"

param name="class" value="service.HelloWorld"/param

/create

/allow

/dwr

3.配置web.xml

加入:!-- dwr --

servlet

servlet-namedwr-invoker/servlet-name

servlet-classorg.directwebremoting.servlet.DwrServlet/servlet-class

!-- This should NEVER be present in live --

init-param

param-namedebug/param-name

param-valuetrue/param-value

/init-param

load-on-startup1/load-on-startup

/servlet

servlet-mapping

servlet-namedwr-invoker/servlet-name

url-pattern/dwr/*/url-pattern

/servlet-mapping

4.引入dwr的js,如:

script type='text/javascript' src='dwr/interface/HelloWorld.js'/script

script type='text/javascript' src='dwr/engine.js'/script

script type='text/javascript' src='dwr/util.js'/script

这一步你可以参考dwr的官方文档中的实例,因为这里引入的js,包括目录你都找不到的,所以以往的直接将js文件拖拉到要使用的页面就行不通了,

分别介绍一下引入的三个js文件:

第一个:后缀为HelloWorld.js的估计你也能猜出来了,其实在后台你就是有一个类名就叫HelloWorld的,现在应该明白为什么可以调用后台java类了吧(也就是说有几个java类要调用就有几个这样的引入文件,只需要将HelloWorld名字换为你的另一个要引入的类)。

第二个:固定的写法

第三个:不是必须的,可加可不加,不过它是为了是你操作更方便,一般都会加上。

5.下面就可以在页面调用了:

script type='text/javascript' src='dwr/interface/HelloWorld.js'/script

script type='text/javascript' src='dwr/interface/DepartmentsService.js'/script

script type='text/javascript' src='dwr/engine.js'/script

script type='text/javascript' src='dwr/util.js'/script

script type="text/javascript"

function hello(){

var name = document.getElementById("name").value;

HelloWorld.hello(name,callback);//直接使用引入的名称调用后台类中的hello()方法

}

//回调函数用来获取从后台传递来的参数,或者数据

function callback(date){

alert(date);

}

/script

6.完成

希望能下个dwr的官方jar包里面有好多例子,讲的都很详细的

webview 远程js调用本地java实现交互怎么做?

可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地java代码进行交互。没有任何区别。

1、webview必须设置支持Javascript

mWebview.getSettings().setJavaScriptEnabled(true);

2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");

final class JavaScriptInterface { 

       public int callOnJs() {

                        

          return 1000;

       }

 

       public void callOnJs2(String mode) {

         //TODO

       }

   

  }

3、JS页面

script type="text/javascript"  

        window.onload = function(){  

                document.getElementById('btn_1').addEventListener('click', onBtnClick, false);  

                var _int_value = window.ncp.callOnJs();  

                alert("get int from java:" + _int_value );  

        }  

        function onBtnClick() {  

                window.ncp.callOnJs2("click");  

        }  

  /script

接下来就可以调用js方法了,

1、Java调用js方法

mWebView.loadUrl("javascript:onSaveCallback()");

2、JS访问java方法

window.ncp.callOnJs2("click");

如何在android平台上使用js直接调用Java方法

js中需要通过Android的WebView控件来实现js与java相互调用 。

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:

1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);

2.调用WebView的loadUrl()方法,设置WevView要显示的网页:

互联网用:webView.loadUrl("");

本地文件用:webView.loadUrl(""); 本地文件存放在:assets 文件中

3.调用Activity的setContentView( )方法来显示网页视图

4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面

5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。

uses-permission android:name="android.permission.INTERNET" /

在js中怎么调用java类静态方法调用方法

你这里用的应该是form 表单提交的吧 你的action写跳转的网页就可以了啊 如果想在当前页面接收到跳转页面方法的返回值 可以用session保存一下 在当前页面get一下就好了

关于gwt里js调用java代码的问题

恩哼,javascript里面调用错了下面是摘自google官方的说明:

[instance-expr.]@class-name::method-name(param-signature)(arguments)

instance-expr.

:

must

be

present

when

calling

an

instance

method

and

must

be

absent

when

calling

a

static

method

class-name

:

is

the

fully-qualified

name

of

the

class

in

which

the

method

is

declared

(or

a

subclass

thereof)

param-signature

:

is

the

internal

Java

method

signature

as

specified

at

JNI

Type

Signatures

but

without

the

trailing

signature

of

the

method

return

type

since

it

is

not

needed

to

choose

the

overload

arguments

:

is

the

actual

argument

list

to

pass

to

the

called

method

大致是先要有这个类所在方法的实例,然后调用格式是

实例@类名::方法名(java类型的JNI类型)(参数)

其中,获得实例,也需要用到JNI,调用构造方法,java类型的JNI类型在oracle官网上有对应,多参数之间用逗号隔开

举例

com.test.Test.class下有一个java方法

void

test(float

f,boolean

b,)...

调用格式是(假设instance已经取到)

instance@com.tets.Test::test(FZ)(1.2f,true)

其中instance假设已经通过JNI调用构造方法获得,FZ对应的是float和boolean,(float的JNI对应类型是F,boolean的对应类型的Z)中间没有任何分隔符,后面两个是传的参数

js调用java很复杂,比java调用JS远要复杂的多

更多参考资料,可以去google

gwt官网找

链接我不能发,发了就被吞贴

js调用java类的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java如何调用js、js调用java类的信息别忘了在本站进行查找喔。