我希望你很棒。
关于这个题目我很抱歉,但英语不是我的第一语言,我不知道如何更好地表达我的问题。所以基本上我有一个项目,我们要做一个项目计划,基本上就是把项目分成子项目和任务。我现在正在处理子项目部分,我想在html表中显示具有相同子项目id的任务。
我做了一个sql查询,它收集subprojectname subprojectd和taskname,后者连接subprojectd并按subprojectd和tasks排序。现在我想把它添加到子项目的arraylist中,它的构造函数有一个任务列表。下面是我的代码。
public SubProject(int subProjectID, String subProjectName, ArrayList<Task> tasks){
this.subProjectName = subProjectName;
this.subProjectID = subProjectID;
this.tasks = tasks;
}
public Task(String taskName) {
this.taskName = taskName;
}
上面是我的任务和子项目模型类。
public ArrayList<SubProject> getEntireSubProject(){
ArrayList<SubProject> listToReturn = new ArrayList<>();
ArrayList<Task> listOfTask = new ArrayList<>();
try {
PreparedStatement ps = connection.establishConnection().prepareStatement("select idsubprojects, subprojectname, taskName \n" +
"from subprojects \n" +
"inner join tasks \n" +
"on subprojects.idsubprojects = tasks.subprojectid\n" +
"order by idsubprojects, idtasks");
ResultSet rs = ps.executeQuery();
int SPIDcompare = -1;
while (rs.next()){
if(SPIDcompare == rs.getInt(1)){
listOfTask.add(new Task(rs.getString(3)));
listToReturn.add(new SubProject(rs.getInt(1), rs.getString(2), listOfTask));
}else{
SPIDcompare = rs.getInt(1);
listOfTask.add(new Task(rs.getString(3)));
listToReturn.add(new SubProject(rs.getInt(1), rs.getString(2), listOfTask));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
return listToReturn;
}
上面是我的repository类,我尝试将sql数据添加到列表中。sql查询输出:
'4'、'spname'、'taskname'
'4'、'spname'、'taskname'
'4'、'spname'、'taskname'
'4'、'spname'、'taskname'
'6'、'subprojecttest'、'test'
‘8’,‘还在工作?’,‘dosomething’
这些都是我写的条目。我想要实现的是将spid(subprojectd)相同的所有任务添加到同一个subproject对象中,如果spid发生了变化,那么我想在列表中创建一个新的subproject对象来添加这些数据。很明显,我现在做得不对,比如当spid==rs.getint(1)我创建了一个新的子项目对象,但是我真的不知道该怎么做。我希望有人能帮我
我试图实现的输出是一个arraylist,它包含x个子项目及其子项目和相应的子项目名,以及一个任务列表。因此,对于我上面写的数据库中的条目,我希望下面的arraylist
阵列列表(
子项目(4,spname,arraylist(taskname,taskname,taskname,taskname))
子项目(6,subprojecttest,arraylist(test))
子项目(8,stillworking?,arraylist(dosomething)))
我希望在html表格中显示子项目列表,如下所示:
编辑:在@timonnetherlands的帮助下,我完成了如下视图。我希望看到每个子项目的html thymeleaf表,其中每一行都是一个任务。现在我可以用下面的代码使它看起来像这样:
edit2:我弄乱了胸腺,它起作用了。感谢@timonnetherlands
<div th:if=${!#lists.isEmpty(test)} class="taskTable">
<div th:each="test : ${test}">
<table class="showTasks" >
<tr>
<th>Sub project name</th>
<th>Task name</th>
</tr>
<tr th:each="test1 : ${test.tasks}">
<td th:text="${test.subProjectName}"></td>
<td th:text="${test1.taskName}"></td>
</tr>
</table>
</div>
</div>
1条答案
按热度按时间nbnkbykc1#
SPIDcompare == rs.getInt(1)
永远不会true
.去除
改变
分为:
添加此方法: