我在Tomcat上使用Mark W. Shead的10分钟演示(链接在here上可见),它运行正常。源代码的直接链接是here
我想将一些日志记录放入非页面类的类中。例如,.services.AppModule类。
在Tapestry文档中,它有一个像这样的页面类的示例:
import org.apache.tapestry5.ioc.annotations.Inject;
public class MyPage
{
@Inject
private Logger logger;
void onSuccessFromForm()
{
logger.info("Changes saved successfully");
}
但是我不能让它适用于其他类,比如AppModule。 当我尝试使用日志时,我得到一个空指针异常。
我也试过这个:
@Inject
public static Logger logger = LoggerFactory.getLogger(AppModule.class);
这会运行,但我没有收到任何消息。
有什么想法吗?谢谢!
答案 0 :(得分:1)
你应该试试这个:
public static Logger logger = LoggerFactory.getLogger(AppModule.class);
由于注入,我不应该初始化记录器,或者在没有注入的情况下初始化记录器
我认为问题在于记录器没有在春天或某个地方定义,这就是为什么挂毯不能只注入空引用。如果你想注入记录器,而不是创建记录器,你应该知道,为什么tapestry项目不会启动记录器。