【发布时间】:2015-03-02 21:53:39
【问题描述】:
我有一个这样定义的类(伪代码):
package com.some.namespace
public class SomeClass {
protected SomeClass() {}
// stuff...
public class SomeInnerClass {
public SomeInnerClass() {}
// more stuff (accesses instance variables from SomeClass)...
}
}
然后在我的模板中,我使用可重用块定义如下:
@doSomething(val: com.some.namespace.SomeClass.SomeInnerClass) = {
// even more stuff...
}
但我得到了错误:
类型 SomeInnerClass 不是对象的成员 com.some.namespace.SomeClass
我无法访问模板中的内部类还是应该可以工作? (如果它应该工作,我可能需要发布我的实际代码)
【问题讨论】:
-
你的内部类不需要是静态的吗?如果是,它应该像任何其他类一样工作。
-
我不这么认为,
SomeClass是我在视图中访问的一个单例,它有一个SomeInnerClass类的列表,我通过 getter 获得并传递给内部的可重用块一个 for 循环。事实上,如果我将内部类设为静态,它将破坏我的代码,因为SomeClass必须是一个实例,因此SomeInnerClass不需要(或不想)是静态的,因为它从SomeClass访问实例变量上课,不是吗? -
感谢您的编辑@Mikesname 我完全错过了。
标签: playframework playframework-2.3