【问题标题】:Getting a JavaObject out of a JSObject从 JSObject 中获取 JavaObject
【发布时间】:2011-06-01 18:26:12
【问题描述】:

我的 xhtml 页面中有一个 Javascript 函数,它执行以下操作:

HTML 文件:

function getData(){
   var data = document.getElementById('data');
   return data;        
}

<input type="hidden" value="#{bean.bytes}"/>

支持 Bean 代码:

public class Bean{
    public byte[] getBytes(){
       return this.bytes;
    }
}

我有一个小程序需要从 html 中获取这个字节数组 小程序代码:

public class TestApplet extends Applet{
   JSObject win = JSObject.getWindow(this);
   JSObject returnedValue = win.call("getData", null);
}

我一直在尝试调用returnedValue.getMember("value") (fixed);但这会得到一个空值。 我还尝试将 javascript 更改为:

HTML:

function getData(){
   var data = document.getElementById('data').value;
   return data;        
}

但这只会返回 byte[] 的字符串表示形式,而不是实际的对象。

所以我的问题是: 如何使用 JSObject 获取 JavaObject?

当前方法让我返回一个字符串

【问题讨论】:

    标签: java javascript html xhtml applet


    【解决方案1】:

    没有data 属性。
    将其更改为returnedValue.getMember("value")

    【讨论】:

    • 看起来使用 returnedValue.getMember("value") 给了我一个 String :(
    • @Vedar:那是因为它一个字符串。你期待什么?
    • 好吧,因为 Bean 返回了一个 byte[],我期待返回一个 byte[]。
    • HTML DOM 元素的value 属性是字符串,而不是byte[]
    猜你喜欢
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2015-08-04
    相关资源
    最近更新 更多