开发者社区> 问答> 正文

spring 多对一表在jsp页面判断为空时报错。?报错

activity表中task_ID和task表的关系为 CONSTRAINT `FK_activity_task` FOREIGN KEY (`Task_ID`) REFERENCES `task` (`ID`)。

在domian中的代码为:

Task.java

/**
  */
 @OneToMany(mappedBy = "task", cascade = { CascadeType.REMOVE }, fetch = FetchType.LAZY)
 @XmlElement(name = "", namespace = "")
 java.util.Set<net.gvsun.domain.Activity> activities;

Activity.java

/**
  */
 @ManyToOne(fetch = FetchType.LAZY)
 @JoinColumns({ @JoinColumn(name = "Task_ID", referencedColumnName = "ID") })
 @XmlTransient
 Task task;

我在jsp里面是这么写的:

<table cellpadding="0" cellspacing="0" id="viewTable" class="tablesorter">
    <thead>
     <tr>
     <th  width="15%"><fmt:message key="task.responser.title"/></th>
     <th  width="20%"><fmt:message key="task.specification.title"/></th>
     <th  width="10%"><fmt:message key="task.planbegindate.title"/></th>
     <th  width="10%"><fmt:message key="task.planenddate.title"/></th>
     <th  width="25%"><fmt:message key="task.projectactivity.title"/></th>
     <th  width="10%"><fmt:message key="task.createddate.title"/></th>
     <th  width="10%"><fmt:message key="task.creater.title"/></th>
     <th  width="8%"><fmt:message key="operation"/></th>
     </tr>
    </thead>
    <tbody>
     <c:forEach items="${tasks}" var="current"  varStatus="i"> 
      <c:choose>
       <c:when test="${(i.count) % 2 == 0}">
           <c:set var="rowclass" value="rowtwo"/>
       </c:when><c:otherwise>
           <c:set var="rowclass" value="rowone"/>
       </c:otherwise></c:choose>
     <tr class="${rowclass}">
      <td>${current.userByResponser.cname} </td>
      <td>${current.specification} </td>
      <td>
        <fmt:formatDate type="date" dateStyle="medium" value="${current.planBeginDate.time}"/> 
      </td><td>
        <fmt:formatDate dateStyle="medium" type="date" value="${current.planEndDate.time}"/> 
      </td><td>
      <c:choose>
      <c:when test="${current.activities==null}">
      <a class="button" src="${pageContext.request.contextPath}/images/icons/new.gif" /><fmt:message key="activity.title"/></span></a>
      </c:when><c:otherwise>
      <table cellpadding="0" cellspacing="0" id="viewTable" class="tablesorter">            
             <thead><th></th><th></th><th></th></thead>
              <tbody>
           <c:forEach items="${current.activities}" var="activities"  varStatus="j"> 
        <c:choose><c:when test="${(j.count) % 2 == 0}">
          <c:set var="rowclass" value="rowtwo"/></c:when>
       <c:otherwise><c:set var="rowclass" value="rowone"/>
       </c:otherwise></c:choose>
          <tr class="${rowclass}">
           <td>${activities.activityField} : </td>
           <td>${activities.userByCreater.cname} : </td>
           <td style="color:red;">
           <fmt:formatDate dateStyle="medium" type="date" value="${activities.activityTime.time}"/> 
                             </td></tr>
              </c:forEach></tbody>
              </table>
               </c:otherwise>
              </c:choose>
      </td><td>
        <fmt:formatDate pattern="yyyy-MM-dd,HH:mm" type="both" value="${current.createdDate.time}"/> 
      </td><td>
      ${current.userByCreater.cname} 
      </td><td  nowrap="nowrap" class="tabletd">
           <a title="<fmt:message key="navigation.edit" />" src="${pageContext.request.contextPath}/images/icons/edit.gif" /></a>        
        <a title="<fmt:message key="navigation.delete" />" onclick='return confirm("<fmt:message key="confirm.if.delete"/>")'><img src="${pageContext.request.contextPath}/images/icons/delete.gif" /></a>
          
         </td>
     </tr>
     </c:forEach>
    </tbody>
   </table>

为什么我的数据库中activity表中的task_ID为NULL,而我在jsp里面写${current.activities==null}"时,出现新增按钮,否则就显示一个表格,但是为什么总是显示了一个表格啊?难道这样默认current.activities不为空。
     

 

 

展开
收起
爱吃鱼的程序员 2020-06-22 22:48:51 483 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    <c:iftest="${ current.activities==null }"></c:if>


    先输出到页面看看值是什么吧<c:outvalue="${ current.activities}">

    isemptyjstl有 isempty判断

    ${emptyxxxxx}or${!emptyxxxxx} or${notemptyxxxxx}


    谢谢啊!
    2020-06-22 22:49:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多