作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个方法:
public void testJSNI2(){
String x = "test";
}
我可以像这样访问这个方法:
helloJsni.@com.jsni.client.HelloJSNIImpl::testJSNI2(Ljava/lang/String;)
但是如何访问在方法中定义的字符串 x
?
最佳答案
答案不正确。 JavaScript 和 Java 的行为并不相同。在 JSNI 的帮助下,Person 可以从 js 访问任何字段:
public class JSNIExample {
String myInstanceField;
static int myStaticField;
void instanceFoo(String s) {
// use s
}
static void staticFoo(String s) {
// use s
}
public native void bar(JSNIExample x, String s) /*-{
// Call instance method instanceFoo() on this
this.@com.google.gwt.examples.JSNIExample::instanceFoo(Ljava/lang/String;)(s);
// Call instance method instanceFoo() on x
x.@com.google.gwt.examples.JSNIExample::instanceFoo(Ljava/lang/String;)(s);
// Call static method staticFoo()
@com.google.gwt.examples.JSNIExample::staticFoo(Ljava/lang/String;)(s);
// Read instance field on this
var val = this.@com.google.gwt.examples.JSNIExample::myInstanceField;
// Write instance field on x
x.@com.google.gwt.examples.JSNIExample::myInstanceField = val + " and stuff";
// Read static field (no qualifier)
@com.google.gwt.examples.JSNIExample::myStaticField = val + " and stuff";
}-*/;
}
您可以在这里看到:http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html
关于GWT:如何从 JSNI 访问 java 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998165/
我是一名优秀的程序员,十分优秀!