显示列表 JSP 页中的列表

Displaying list in a list JSP Page

我正在尝试显示一个列表,该列表的每个对象都有另一个我必须显示的列表,值即将出现但未显示,下面是我尝试过的代码,如果有人可以识别我的内容我做错了,这将非常有帮助。我正在使用 Spring MVC,但我认为它与此错误没有任何关系,我们将不胜感激。

    @Entity
@Table(name="FILE_TRACKING_MANAGEMENT")
@NamedQuery(name="FileTrackingManagement.findAll", query="SELECT f FROM FileTrackingManagement f")
{

   @OneToMany(mappedBy="fileTrackingManagement")
    private List<FileNoting> fileNotings;

    //bi-directional many-to-one association to FileTrackingFile
    @OneToMany(mappedBy="fileTrackingManagement")
    private List<FileTrackingFile>  fileTrackingFiles;

    }

我的控制器Class:

@RequestMapping("viewMarkedFiles/list")
    public ModelAndView viewMarkedFiles(Model model)
    {
        List<FileTrackingManagement> markedFileList=  fileService.getList();
        //model.addAttribute("markedFileList", markedFileList);

        return new ModelAndView("viewMarkedFiles", "markedFileList", markedFileList);
    }

我的 JSP 页:

<table border="1" bgcolor="black" width="600px">
    <c:forEach items="${markedFileList}" var="markedFileVal">
    <%--                <c:set var="fileNotings" value="${jobs[i.index].jobId}"/> --%>
                        <tr
                            style="background-color: white; color: black; text-align: center;"
                            height="30px">

                            <td><c:out value="${markedFileVal.diarynumber}" />
                            <td><c:out value="${markedFileVal.subject}" />
                            <td>

                            </td>
                            <td>

                            </td>
                            <td>
                            <c:forEach items="${markedFileList.fileNotings}" var="filenotings">
                            <c:out value="${filenotings.notingData}" /></c:forEach>
                            </td>
</c:forEach>
</table>

它抛出这个异常:

45: <%--                        <c:out value="${fileVal.description}" /> --%>
46:                         </td>
47:                         <td>
48:                         <c:forEach items="${markedFileList.fileNotings}" var="filenotings">
49:                         <c:out value="${filenotings.notingData}" /></c:forEach>
50:                         
51:                         


Stacktrace:] with root cause
java.lang.NumberFormatException: For input string: "fileNotings"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)



at java.lang.Integer.parseInt(Unknown Source)

提前致谢

<c:forEach items="${markedFileList}" var="markedFileVal">

因此,您正在遍历列表 markedFileList。在标签体内,当前元素是 markedFileVal.

然后你

<c:forEach items="${markedFileList.fileNotings}" var="filenotings">

所以你开始 markedFileList.fileNotings。但是 markedFileList 是一个列表。它不是当前元素。你要的是

<c:forEach items="${markedFileVal.fileNotings}" var="filenoting">

另请注意,我从 filenotings 中删除了最后的 s。此变量指向单个文件注释。不是几个。

@OneToMany(fetch = FetchType.EAGER, mappedBy="fileTrackingManagement") 私有列表文件注释;

fetchType的值默认是Lazy,当我改变它的值时,它起作用了