当您创建一个新视图时,应该使用@Named注释。但是,如果视图应该是已经存在的类的扩展,那么应该如何实现这一点。要覆盖类中的方法,我使用以下方法:
@ViewScoped
@Specializes
public class classB extends class A{
@Override
public String save(){
}
}这允许我保留已经生成的实体。
但是视图需要有以下注释:
@Named
@ViewScoped
@URLMapping()
public class classB extends class A{
//content
}怎样才能在一个班级里做到这一点?考虑到这两个注释不能共存吗?
发布于 2022-04-01 14:01:27
这个问题的答案取决于实体最初是如何创建的。如果要扩展管理实体的类,则必须创建单独的视图。这意味着一个命名类,它是管理实体的类的扩展。
之后,您必须创建一个与创建的新命名视图相关的JSF页面。
如果存在信息传输,则必须使用专门的注释创建一个适当的扩展类,以访问该实体。
如果试图操作新视图类中的实体,将导致合并错误,因为程序已经认为该实体存在于数据库中。
https://stackoverflow.com/questions/71601956
复制相似问题