Grails:使用来自控制器的java类

时间:2013-01-07 14:18:39

标签: java grails

*更新

我是grails和stack的新手。我试图在控制器中实例化一个java类。我的.java文件位于/ src文件夹中。我已经测试了grails之外的类,它工作正常。但是,当我尝试从控制器实例化它时,我得到一个空指针异常。我的相关代码:

package matrices

import org.springframework.dao.DataIntegrityViolationException

class MFController {

    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

    def index() {
        MatrixFactorization m = new MatrixFactorization()
        def answer = m.getAnswer().toString()
        return answer
    }

我的追踪:

Message: null
    Line | Method
->>   45 | run       in matrices.MatrixFactorization
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     36 | <init>    in     ''
|     10 | index . . in matrices.MFController$$ENtqy0Aa
|    195 | doFilter  in grails.plugin.cache.web.filter.PageFragmentCachingFilter
|     63 | doFilter  in grails.plugin.cache.web.filter.AbstractFilter
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run       in java.lang.Thread

MatrixFactorization class 35-45

public MatrixFactorization() {

double[] l1 = { 5, 3, 0, 1 };

double[] l2 = { 4, 0, 0, 1 };

double[] l3 = { 1, 1, 0, 5 };

double[] l4 = { 1, 0, 0, 4 };

double[] l5 = { 0, 1, 5, 4 }; //45

提前致谢

2 个答案:

答案 0 :(得分:0)

问题出现在run类的MatrixFactorization方法的第45行,因为堆栈跟踪的第一行显示。该类正在实例化,但它在内部失败。在调用getAnswer()之前是否有一些丢失的配置或设置?

答案 1 :(得分:0)

很高兴这对你有用。这里的评论也作为答案发布了。

包中是否有Java类?我假设矩阵,因为你的代码片段没有显示导入。我在访问默认包中的类时遇到了问题。尝试将其放在测试包下(如果尚未安装),然后将其导入控制器中。