Request 使用wicket时不需要任何与当前线程关联的请求

Request 使用wicket时不需要任何与当前线程关联的请求,request,wicket,Request,Wicket,当没有与当前线程关联的请求时,是否有任何方法可以使用wicket。例如,我想定期发送邮件,我想使用wicket面板作为邮件模板。但是当我使用TimerTask时。此线程中没有请求 有没有办法在wicket中手动创建请求?或者有什么更好的方法来处理这种情况 我试试这个 final MockWebRequest request = new MockWebRequest(null); final NullResponse response = NullResponse.getInstance(); R

当没有与当前线程关联的请求时,是否有任何方法可以使用wicket。例如,我想定期发送邮件,我想使用wicket面板作为邮件模板。但是当我使用
TimerTask
时。此线程中没有请求

有没有办法在wicket中手动创建请求?或者有什么更好的方法来处理这种情况

我试试这个

final MockWebRequest request = new MockWebRequest(null);
final NullResponse response = NullResponse.getInstance();
RequestCycle rc = Application.get().createRequestCycle(request, response);
//do jobs
rc.detach()
但在第3行,它表示当前线程没有附加任何应用程序。

解决方案是使用启动面板并获取所需信息

Wickettester tester = new WicketTester(yourApplication);
tester.startComponentInPage(new EmailPanel()); 
您可以使用提交表单

但这是测试代码,所以不应该在生产中使用。我不知道这对性能、安全性等的影响。最好从面板中提取所需的电子邮件模板信息,并使其在Wicket面板和其他类中可用