Java 编辑文本文件dojo

Java 编辑文本文件dojo,java,javascript,dojo,ejb-3.1,Java,Javascript,Dojo,Ejb 3.1,我在学道场和乞丐。我想使用Dojo从界面加载和编辑一个文本文件。请告诉我dojo中的哪个组件可以满足此要求。根据我对评论的回答,我的理解是您希望: 在网页上的表单中输入文件名 然后,Dojo将从您的服务器加载该特定文本文件 然后,文件需要以某种编辑成分显示在屏幕上 然后,用户需要该工具将文件发回服务器 我本以为最好的方法是使用获取文本文件,然后再次使用它将其发回。您可以通过各种方式进行选择和显示 一个非常粗糙的解决方案是: <form data-dojo-type="dijit/form/

我在学道场和乞丐。我想使用Dojo从界面加载和编辑一个文本文件。请告诉我dojo中的哪个组件可以满足此要求。

根据我对评论的回答,我的理解是您希望:

  • 在网页上的表单中输入文件名
  • 然后,Dojo将从您的服务器加载该特定文本文件
  • 然后,文件需要以某种编辑成分显示在屏幕上
  • 然后,用户需要该工具将文件发回服务器
  • 我本以为最好的方法是使用获取文本文件,然后再次使用它将其发回。您可以通过各种方式进行选择和显示

    一个非常粗糙的解决方案是:

    <form data-dojo-type="dijit/form/Form">
    
        <input type="text" id="fileName" data-dojo-type="dijit/form/TextBox" />
        &nbsp;<button data-dojo-type="dijit/form/Button" type="button">Get
            <script type="dojo/on" data-dojo-event="click">
                require([
                    "dijit/registry",
                     "dojo/request"
                ], function(registry, request) {
                    var fileName = registry.byId("fileName").get("value");
    
                    request(fileName, {
                        "handleAs": "text"
                    }).then(function(content){
                        registry.byId("content").set("value", content);
                    });
                }); 
            </script>
        </button><br /><br />
    
        <textarea id="content" data-dojo-type="dijit/form/TextBox"></textarea>
        <button data-dojo-type="dijit/form/Button" type="button">Send
            <script type="dojo/on" data-dojo-event="click">
                require([
                    "dijit/registry",
                    "dojo/request"
                ], function(registry, request) {
                    var content = registry.byId("content").get("value");
                    request("myhandler.php", {
                        "method": "post",
                        "data": {
                            "content": content
                        }
                    }).then(function(content){
                        // deal with the response
                    });
                }); 
            </script>
        </button>
    
    </form>
    
    
    得到
    要求([
    “dijit/注册表”,
    “dojo/请求”
    ],函数(注册表,请求){
    var fileName=registry.byId(“fileName”).get(“value”);
    请求(文件名{
    “handleAs”:“文本”
    }).然后(功能(内容){
    registry.byId(“内容”).set(“值”,内容);
    });
    }); 
    

    发送 要求([ “dijit/注册表”, “dojo/请求” ],函数(注册表,请求){ var content=registry.byId(“content”).get(“value”); 请求(“myhandler.php”{ “方法”:“发布”, “数据”:{ “内容”:内容 } }).然后(功能(内容){ //应对回应 }); });
    这将加载一个文本文件,其中包含您在文本框中输入的文件名(单击“获取”后)。内容将加载到文本区域进行编辑,并可通过单击“发送”将其发送回服务器脚本

    正如我所说,“这是一个非常粗糙的例子”。但是,它显示了如何使用从服务器接收和发布信息。显然,您需要一个更复杂的解决方案,在适当的时候隐藏/显示小部件。您可能希望用通过服务器代码填充的某种组合来替换文件名文本框…等等

    我建议您封装整个操作,而不是在标记中声明它。您可以使用从服务器加载json文件来填充组合框以选择该文件。您还需要确保发回的信息来自可信的来源


    重要仅当文本文件和您的网页位于同一域中时,此选项才有效。它不适用于跨域请求。如果你想跨域,你需要创建一个json解决方案。

    你为什么要求dojo??如果java已经有了操作文本文件的选项,那么我寻找dojo的原因是因为我希望从用户界面编辑文件并将其保存回去。请告诉我其他的方法来满足这个问题。这个问题严重缺乏细节。这个文本文件是如何获得的?从您的服务器;来自另一台服务器;通过网络服务;用户上传;输入文本字段…你在找什么?你已经试过什么了?我有一个界面,我在我的服务器上输入可用的文件名,并希望将文件内容加载到我的界面中。编辑同一文件时,我的文件需要上传/保存回我的服务器。我明白Garry提到dojo做不到。