【发布时间】:2025-01-09 22:45:01
【问题描述】:
我有一个restlet,我想在其中链接一个验证器并在代码中一个接一个地过滤。代码是这样的
@Override
public synchronized Restlet createInboundRoot()
{
Router router = new Router();
Validator val = new ParameterValidator(getContext());
Filter fil = new MYFilter(getContext());
router.attach("/HelloWorld", HW.class);
fil.setNext(val);
val.setNext(router);
val.validate("Name",true,"^[a-z0-9A-Z]+$");
return val;
}
但这不会检查过滤器,只是在验证器上工作,然后出来。
但是如果我编写如下相同的代码,它可以正常工作,
@Override
public synchronized Restlet createInboundRoot()
{
Router router = new Router();
Validator val = new ParameterValidator(getContext());
Filter fil = new MYFilter(getContext());
router.attach("/HelloWorld", fil);
fil.setNext(val);
val.setNext(HW.class);
val.validate("Name",true,"^[a-z0-9A-Z]+$");
return router;
}
上面的代码工作正常,但现在如果我必须创建一个链,我将不得不为每个新映射创建 Validator 和 Filter 的新对象。 任何解决方案将不胜感激
【问题讨论】:
标签: java servlets restlet restlet-2.0