java - 我如何向我的 gwt 树提供数据

标签 java gwt tree

所以我需要为我的 gwt 项目创建一个包含树项的树。我正在使用复合模式来存储需要放置在树中的所有信息。

用户有一个扩展层次结构的根文件夹,该根文件夹有一个层次结构对象列表,可以是文件位置或文件夹。我遇到的麻烦是根据这种模式构建我的树。这些数据全部使用 hibernate 存储在 mysql 数据库中

我如何能够将其实现为 gwt 中的树。

此外,我创建的树项目必须引用回该对象,以便我可以重命名或移动它。

@Entity
@Table(name ="HIERARCHY")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(
name = "HIERARCHY_TYPE", discriminatorType = DiscriminatorType.STRING)      
public abstract class  Hierarchy implements Serializable {

 @Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "hierarchy_id", updatable = false, nullable = false)
private int hId;



@Entity
@DiscriminatorValue("F")
public class Folder extends Hierarchy  {

@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
@JoinTable(name = "FOLDER_JOIN_FILELOCATION", joinColumns = { 
    @JoinColumn(name = "folder_id") }, inverseJoinColumns = { 
    @JoinColumn(name = "file_information_id") })
private List<Hierarchy> children = new ArrayList<Hierarchy>() ;
@Column(name = "folder_name")
private String folderName;

@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinTable(name="FOLDER_JOIN_FOLDER",
    joinColumns = @JoinColumn(name="parent_folder_id"),
    inverseJoinColumns = @JoinColumn(name="folder_ID")
 ) 
private Hierarchy parent;




@Entity
@DiscriminatorValue("FI")
public class FileInformation extends Hierarchy  {


@Column (name = "location")
private String location;

@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
 @JoinTable(name="FILEINFORMATION_JOIN_FOLDER",
    joinColumns = @JoinColumn(name="filelocation_id"),
    inverseJoinColumns = @JoinColumn(name="folder_ID")
)  
private Hierarchy parent;

现在我想基于这个结构构建树。如果我的逻辑是错误的,你能指出我正确的方向

Tree tree = new Tree();

现在,对于文件夹中的每个文件夹或文件信息,我想创建一个树项目?该树项还必须引用回对象本身

最佳答案

这一切都可以通过 GWT-RPC requests 轻松完成到您的服务器和 TreeTreeItem客户端中的类。

启动时(或者当您想要第一次显示树时),调用您的服务,并在回调中使用tree.addItem()将这些项目添加到树中。这在很大程度上取决于数据库的结构以及将信息传递给客户端的方式,但这应该可以帮助您入门。

另一个选择是使用 GWT-incubatorFastTree类,这适用于显示大型树,以及仅在打开文件夹时加载数据。

关于java - 我如何向我的 gwt 树提供数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621851/

相关文章:

java - 检查计时器是否有任何待处理的任务?

java - 该方法创建对象(持久实体)时出错

css - GWT 教程主体填充

algorithm - 二叉树上的预序遍历和深度优先搜索一样吗?

tree - Golang 中的这段代码是惯用的吗?持久化树

apache-flex - 如何在 mx :Tree 中使用 2 个不同的项目渲染器

java - 通过java应用程序加密短信

java - 在 Android 中使用简单 XML 并获取 NoClassDefFoundError

java - 为什么消费者线程只有在生产者写完10个对象后才执行

javascript - 如何在GWT中实现JSNI