如何在一个控制器中从一种方法访问字符串?

时间:2015-04-20 16:47:09

标签: grails

如果我们有一个控制器,让我们称之为文档,它有两个方法,一个上传文件,另一个显示上传文件。 我想在upload方法中定义一个新字符串,用于检查文件的大小并在该字符串中存储特定的类型名称。

但是我想在另一个方法中访问该字符串,该方法是能够显示它的list方法。

这是我的代码:

Class DocumentController {

    def list() {
        //Here I would like to access that String to show it on the page

        [fileSizeType: fileSizeType]
    }

    def upload {
        //define the new String variable
        String fileSizeType = ""

        if(fileSize < 1000) {
            fileSizeType = "type1.."
        } else {
            fileSizeType = "type2.."
        }

    }
}

在gsp页面中,我想以这种方式访问​​字符串:

<td><g:link>\${fileSizeType}</g:link></td>

我在尝试上面的代码时收到此错误:

No such property: fileSizeType for class: file_down.DocumentController

1 个答案:

答案 0 :(得分:1)

您需要在参数中传递参数时重定向到列表操作。

def upload() {
  // simplify with ternary expression
  def fileSizeType = (fileSize < 1000) ? "type1.." : "type2.."

  redirect action:'list', params:[fileSizeType: fileSizeType]
}

// in your list action
def list() {
  [fileSizeType: params.fileSizeType]
}