Java 在表单或textArea中显示文本值,通过GSP和Groovy代码显示textForm

Java 在表单或textArea中显示文本值,通过GSP和Groovy代码显示textForm,java,grails,web,groovy,gsp,Java,Grails,Web,Groovy,Gsp,所以我有一个上传表单,在我选择了要上传的文件后,我提交了,因此我想将文件文档的内容显示到文本区域或表单,但我不知道如何获取该文件的参数并在该文件中呈现文本。 这是我的代码:文件displayForm.gsp 如上所示,我不想读取文件“D:/submitted\u file.uima”并渲染它。 但若我调用render方法,它得到的错误是文件为null 我从file.gsp调用文件参数时遇到问题。我应该从uploadForm和textAreatextField调用名称cfile、值或id还是其他名

所以我有一个上传表单,在我选择了要上传的文件后,我提交了,因此我想将文件文档的内容显示到文本区域或表单,但我不知道如何获取该文件的参数并在该文件中呈现文本。 这是我的代码:文件displayForm.gsp

如上所示,我不想读取文件“D:/submitted\u file.uima”并渲染它。 但若我调用render方法,它得到的错误是文件为null


我从file.gsp调用文件参数时遇到问题。我应该从uploadForm和textAreatextField调用名称cfile、值或id还是其他名称

如果不存在此文件,则必须创建此文件

File file = new File("C:/test.txt");
if(!file.exists()) {
   file.createNewFile();
}

render file:x方法接受byte[]、java.io.file或inputStream参数,而您似乎正在传入一个commonmultipartfile。尝试调用渲染文件:f。。。相反,在上面的代码中,要实际呈现保存到磁盘上的文件。

这不是真的,transferTo的文档明确指出,如果目标文件已经存在,将首先删除它。
class SampleController{
def f
def displayForm() {
    if(params.cfile){
        if(params.cfile instanceof        org.springframework.web.multipart.commons.CommonsMultipartFile){                  //new FileOutputStream('D:/submitted_file.txt').leftShift( params.cfile.getInputStream() );
            f=params.cfile.transferTo(new File('D:/submitted_file.uima'));
            render file:params.cfile.toString() ,contentType: "text", encoding:"UTF-8"  
        }else{
            log.error("wrong attachment type [${cfile.getClass()}]");
        }
    }
}
File file = new File("C:/test.txt");
if(!file.exists()) {
   file.createNewFile();
}