SystemErrorReportCommand

SystemErrorReportCommand

因此,与我一起工作的小组减少了为某些事情而必须键入的代码量。在这种情况下,Spring网页使用DisplayTag库显示列表。这样做的方法是使用一个类,该类使用泛型扩展了Controller对象,然后使用该类的子类来处理每个页面。

该控制器显示SystemErrorReport,并将类型定义为SystemErrorReportCommand

public class SystemErrorReportController extends
    GenericSearchAndSelectController<SystemErrorReportCommand> {

问题在于,作为类型传递的SystemErrorReportCommand需要在其构造函数中对其自身进行手动声明,如下所示:
public SystemErrorReportCommand()
{
    super(SystemErrorReport.class);
}

稍后将命令对象传递给需要知道其显式类型的对象。无需在某处手动指定它,它会返回为我们的另一类GenericCommand,因为SystemErrorReportCommand位在编译后会丢失。

我对此并不感到兴奋,因为看起来我们可以进一步自动化以减少开发人员错误。有没有更优雅的方法可以执行此操作,还是由于类型擦除而使我陷入困境?

最佳答案

也许您可以使用Javassist之类的东西来进行元编程。

为此,Tapestry中使用了它,请参阅this文章。

09-28 06:05