【问题标题】:How to call java method using javascript in ZK MVVM?如何在 ZK MVVM 中使用 javascript 调用 java 方法?
【发布时间】:2013-02-20 05:51:19
【问题描述】:

我正在使用亿图 Office 查看器组件来打开和编辑文件。我想将我的文件保存到我的目标点,所以我使用 JavaScript 来保存文件。但我被困在一个点上。我在下面显示我的代码以使用 JavaScript 保存文档。

function f_saveDocument(){
    if(document.OA1.IsOpened)           
    {   
    var saveAsFileName = document.getElementById('hdnFileName').value;
    alert(saveAsFileName);
        var fileFormat = saveAsFileName.substring(saveAsFileName.lastIndexOf("."));
        if(fileFormat == '.docx') {
            var toUnLockFile = 'MergeTest'+fileFormat;
            var tempFileLocation = document.OA1.GetTempFilePath(saveAsFileName);
            var tempToUnLockFileLocation = document.OA1.GetTempFilePath(toUnLockFile);
            document.OA1.SaveAs(tempFileLocation,12);
            document.OA1.SaveAs(tempToUnLockFileLocation,12);
            document.OA1.HttpInit();
            document.OA1.HttpAddPostFile(tempFileLocation);
              document.OA1.HttpPost(""); 
            document.OA1.ClearTempFiles();
        } else {
        alert("asdsa");
            document.OA1.HttpInit();
            document.OA1.HttpAddPostOpenedFile(saveAsFileName);
             **zAu.send(new zk.Event(zk.Widget.$('$btnSave'), "saveFile", {'' : {'data' : {'nodeId': ''}}}, {toServer:true}));** 
         alert("moved");
        }

    } 

在 JSP 页面的情况下,我可以将我的 JSP URL 放在 HttpPost 中,但在 ZK 的情况下,如何从这个 JavaScript 方法转移到 Java 方法。因此,为了克服这个问题,我使用 Widget 来调用我的 viewmodel 类中的 saveFile() 方法。但是zAu.send 不能正常工作。任何人都可以告诉其他解决方案从 ZK MVVM 中的 JavaScript 调用我的 Java 方法吗?

【问题讨论】:

    标签: java javascript jsp mvvm zk


    【解决方案1】:

    您的代码完全错误

    zAu.send(new zk.Event(zk.Widget.$('$btnSave'), "onSaveFile", {'' : {'data' : {'nodeId': ''}}}, {toServer:true}));
    

    事件名称必须以on 开头,因此这将触发onSaveFile
    事件发送到Component,ID 为btnSave。只需listen 即可。

    【讨论】:

    • 感谢纳比尔的帮助!!
    • Nabil:我还有一个问题...有没有办法在 HttpPost 中传递 zk url?实际上我想在 Java 方法中获取 MultipartRequest 的请求。 MultipartRequest mr = new MultipartRequest(request, savePath, 50000000);
    猜你喜欢
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 2018-04-17
    相关资源
    最近更新 更多