Java Hibernate Persistance ObjectNotFoundException:不存在具有给定标识符的行
当打开JSP页面,该页面必须显示数据库中的Java Hibernate Persistance ObjectNotFoundException:不存在具有给定标识符的行,java,spring,hibernate,Java,Spring,Hibernate,当打开JSP页面,该页面必须显示数据库中的任务列表时,我得到的异常也在标题中。我已经检查了许多其他的答案,但都没有用,我现在无法找出问题所在,所以我请求帮助 我需要生成一个任务列表,其中引用了用户和项目。 我正在使用h2数据库 以下是表格: CREATE TABLE TASK.APP_USER ( id INT NOT NULL GENERATED ALWAYS AS IDENTITY, username VARCHAR(25) NOT NULL, firstName VARCHAR(25) N
任务列表时,我得到的异常也在标题中。我已经检查了许多其他的答案,但都没有用,我现在无法找出问题所在,所以我请求帮助
我需要生成一个任务
列表,其中引用了用户
和项目
。
我正在使用h2数据库
以下是表格:
CREATE TABLE TASK.APP_USER (
id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
username VARCHAR(25) NOT NULL,
firstName VARCHAR(25) NOT NULL,
lastName VARCHAR(25) NOT NULL,
password VARCHAR(32) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE TASK.PROJECT (
id INT GENERATED ALWAYS AS IDENTITY,
name VARCHAR(50) NOT NULL,
companyName VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE TASK.PROJECT_TASK (
id INT GENERATED ALWAYS AS IDENTITY,
projectId INT NOT NULL,
userId INT NOT NULL,
description VARCHAR(500) NOT NULL,
estimatedDurationHours INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (projectId) REFERENCES TASK.PROJECT(id),
FOREIGN KEY (userId) REFERENCES TASK.APP_USER(id),
);
以下是DAO类:
@Repository
public class TaskDaoHibernate implements TaskDao {
public TaskDaoHibernate() {
}
@Autowired
private SessionFactory sessionFactory;
private Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
@SuppressWarnings("unchecked")
@Override
public List<User> fetchAllUsers() {
return getCurrentSession().createQuery("from User").list();
}
@Override
public User fetchUserById(Integer userId) {
return (User) getCurrentSession().get(User.class, userId);
}
@SuppressWarnings("unchecked")
@Override
public List<Project> fetchAllProjects() {
return getCurrentSession().createQuery("from Project").list();
}
@Override
public Project fetchProjectById(Integer projectId) {
return (Project) getCurrentSession().get(Project.class, projectId);
}
@Override
public void saveTask(Task task) {
getCurrentSession().save(task);
}
@SuppressWarnings("unchecked")
@Override
public List<Task> fetchAllTasks() {
return getCurrentSession().createQuery("from Task").list();
}
@Override
public Task fetchTaskById(Integer taskId) {
return (Task) getCurrentSession().get(Task.class, taskId);
}
@Override
public void editTask(Task task) {
getCurrentSession().update(task);
}
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}
完整堆栈跟踪是:
INFO: Server startup in 6905 ms
Hibernate:
select
task0_.ID as ID1_2_,
task0_.DESCRIPTION as DESCRIPT2_2_,
task0_.PROJECTID as PROJECTI3_2_,
task0_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_,
task0_.USERID as USERID5_2_
from
TASK.PROJECT_TASK task0_
Hibernate:
select
project0_.ID as ID1_1_0_,
project0_.NAME as NAME2_1_0_,
project0_.COMPANYNAME as COMPANYN3_1_0_,
task1_.PROJECTID as PROJECTI3_1_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_
from
TASK.PROJECT project0_
left outer join
TASK.PROJECT_TASK task1_
on project0_.ID=task1_.PROJECTID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
where
project0_.ID=?
Hibernate:
select
user0_.ID as ID1_0_0_,
user0_.FIRSTNAME as FIRSTNAM2_0_0_,
user0_.USERNAME as USERNAME3_0_0_,
user0_.LASTNAME as LASTNAME4_0_0_,
task1_.USERID as USERID5_0_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_,
task3_.PROJECTID as PROJECTI3_1_4_,
task3_.ID as ID1_2_4_,
task3_.ID as ID1_2_5_,
task3_.DESCRIPTION as DESCRIPT2_2_5_,
task3_.PROJECTID as PROJECTI3_2_5_,
task3_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_5_,
task3_.USERID as USERID5_2_5_
from
TASK.APP_USER user0_
left outer join
TASK.PROJECT_TASK task1_
on user0_.ID=task1_.USERID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
left outer join
TASK.PROJECT_TASK task3_
on project2_.ID=task3_.PROJECTID
where
user0_.ID=?
Hibernate:
select
project0_.ID as ID1_1_0_,
project0_.NAME as NAME2_1_0_,
project0_.COMPANYNAME as COMPANYN3_1_0_,
task1_.PROJECTID as PROJECTI3_1_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_
from
TASK.PROJECT project0_
left outer join
TASK.PROJECT_TASK task1_
on project0_.ID=task1_.PROJECTID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
where
project0_.ID=?
Hibernate:
select
user0_.ID as ID1_0_0_,
user0_.FIRSTNAME as FIRSTNAM2_0_0_,
user0_.USERNAME as USERNAME3_0_0_,
user0_.LASTNAME as LASTNAME4_0_0_,
task1_.USERID as USERID5_0_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_,
task3_.PROJECTID as PROJECTI3_1_4_,
task3_.ID as ID1_2_4_,
task3_.ID as ID1_2_5_,
task3_.DESCRIPTION as DESCRIPT2_2_5_,
task3_.PROJECTID as PROJECTI3_2_5_,
task3_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_5_,
task3_.USERID as USERID5_2_5_
from
TASK.APP_USER user0_
left outer join
TASK.PROJECT_TASK task1_
on user0_.ID=task1_.USERID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
left outer join
TASK.PROJECT_TASK task3_
on project2_.ID=task3_.PROJECTID
where
user0_.ID=?
Hibernate:
select
user0_.ID as ID1_0_0_,
user0_.FIRSTNAME as FIRSTNAM2_0_0_,
user0_.USERNAME as USERNAME3_0_0_,
user0_.LASTNAME as LASTNAME4_0_0_,
task1_.USERID as USERID5_0_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_,
task3_.PROJECTID as PROJECTI3_1_4_,
task3_.ID as ID1_2_4_,
task3_.ID as ID1_2_5_,
task3_.DESCRIPTION as DESCRIPT2_2_5_,
task3_.PROJECTID as PROJECTI3_2_5_,
task3_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_5_,
task3_.USERID as USERID5_2_5_
from
TASK.APP_USER user0_
left outer join
TASK.PROJECT_TASK task1_
on user0_.ID=task1_.USERID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
left outer join
TASK.PROJECT_TASK task3_
on project2_.ID=task3_.PROJECTID
where
user0_.ID=?
Hibernate:
select
project0_.ID as ID1_1_0_,
project0_.NAME as NAME2_1_0_,
project0_.COMPANYNAME as COMPANYN3_1_0_,
task1_.PROJECTID as PROJECTI3_1_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_
from
TASK.PROJECT project0_
left outer join
TASK.PROJECT_TASK task1_
on project0_.ID=task1_.PROJECTID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
where
project0_.ID=?
srp 12, 2015 6:07:06 PM
org.hibernate.event.internal.DefaultLoadEventListener onLoad
INFO: HHH000327: Error performing load command
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [hr.tvz.web.aplikacije.domain.Project#4]
srp 12, 2015 6:07:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [springDispatcher] in context with path [/Majcenic_8] threw exception [Request processing failed; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [hr.tvz.web.aplikacije.domain.Project#4]] with root cause
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [hr.tvz.web.aplikacije.domain.Project#4]
at org.hibernate.internal.SessionFactoryImpl$1$1.handleEntityNotFound(SessionFactoryImpl.java:253)
at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:219)
at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:275)
at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151)
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106)
at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1025)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:716)
at org.hibernate.type.EntityType.resolve(EntityType.java:502)
at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:170)
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1115)
at org.hibernate.loader.Loader.processResultSet(Loader.java:973)
at org.hibernate.loader.Loader.doQuery(Loader.java:921)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355)
at org.hibernate.loader.Loader.doList(Loader.java:2554)
at org.hibernate.loader.Loader.doList(Loader.java:2540)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370)
at org.hibernate.loader.Loader.list(Loader.java:2365)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:497)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:236)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1300)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
at hr.tvz.web.aplikacije.dao.TaskDaoHibernate.fetchAllTasks(TaskDaoHibernate.java:56)
at hr.tvz.web.aplikacije.service.TaskServiceImpl.fetchAllTasks(TaskServiceImpl.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy30.fetchAllTasks(Unknown Source)
at hr.tvz.web.aplikacije.controller.FetchAllTasksController.fetchDataAndShowScreen(FetchAllTasksController.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
编辑:
以下是要求提供的JSP:
<body>
<sf:form id="form" method="POST" action="fetchAllTasks.html"
modelAttribute="chosenTask">
<table id='reportTable' class='display' border="1"
style="font-family: Arial; font-size: 18px;">
<tr>
<td><fmt:message key="taskList.num" /></td>
<td><fmt:message key="taskList.lastName" /></td>
<td><fmt:message key="taskList.firstName" /></td>
<td><fmt:message key="taskList.username" /></td>
<td><fmt:message key="taskList.projectName" /></td>
<td><fmt:message key="taskList.companyName" /></td>
<td><fmt:message key="taskList.description" /></td>
<td><fmt:message key="taskList.estimation" /></td>
<sec:authorize access="hasRole('Administrator')">
<td><fmt:message key="edit" /></td>
</sec:authorize>
</tr>
<c:forEach var="task" items="${tasksList}">
<tr>
<td style="text-align: center;"><c:out value="${task.id}" /></td>
<td style="text-align: center;"><c:out
value="${task.user.ime}" /></td>
<td style="text-align: center;"><c:out
value="${task.user.prezime}" /></td>
<td style="text-align: center;"><c:out
value="${task.user.korisnickoIme}" /></td>
<td style="text-align: center;"><c:out
value="${task.project.nazivProjekta}" /></td>
<td style="text-align: center;"><c:out
value="${task.project.nazivTvrtke}" /></td>
<td style="text-align: center;"><c:out
value="${task.opisZadatka}" /></td>
<td style="text-align: center;"><c:out
value="${task.trajanje}" /></td>
<sec:authorize access="hasRole('Administrator')">
<td style="text-align: center;">
<button id="${task.id}" onClick="chooseTask(this.id)">
<fmt:message key="edit" />
</button>
</td>
</sec:authorize>
</tr>
</c:forEach>
</table>
<input type="hidden" name="chosenTask" id="chosenTask" />
</sf:form>
<div>
<center>
<form:form method="POST">
<input type="submit" name="backButton"
value="<fmt:message key="taskList.button" /> ">
</form:form>
<form method="POST" action="j_spring_security_logout">
<input type="submit" value="<fmt:message key="logout" />">
</form>
<jsp:include page="/WEB-INF/jsp/i18n/langSelect.jsp" />
</center>
</div>
<script type="text/javascript">
function chooseTask(clicked_id) {
document.getElementById("chosenTask").value = clicked_id;
}
</script>
</body>
函数选择任务(单击\u id){
document.getElementById(“chosenTask”).value=clicked\u id;
}
您是否也可以发布jsp,特别是您正在打印任务的部分。jsp添加到问题中:)很抱歉询问,但更新为完整堆栈Stra没有问题,添加了完整堆栈Trace将检查您的项目
表中是否有主键为4
的行?您是否也可以发布jsp,特别是打印任务的部分.jsp添加到问题中:)很抱歉,请使用完整堆栈进行更新。没有问题,添加了完整堆栈跟踪。请检查项目表中是否有主键为4
的行?
INFO: Server startup in 6905 ms
Hibernate:
select
task0_.ID as ID1_2_,
task0_.DESCRIPTION as DESCRIPT2_2_,
task0_.PROJECTID as PROJECTI3_2_,
task0_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_,
task0_.USERID as USERID5_2_
from
TASK.PROJECT_TASK task0_
Hibernate:
select
project0_.ID as ID1_1_0_,
project0_.NAME as NAME2_1_0_,
project0_.COMPANYNAME as COMPANYN3_1_0_,
task1_.PROJECTID as PROJECTI3_1_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_
from
TASK.PROJECT project0_
left outer join
TASK.PROJECT_TASK task1_
on project0_.ID=task1_.PROJECTID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
where
project0_.ID=?
Hibernate:
select
user0_.ID as ID1_0_0_,
user0_.FIRSTNAME as FIRSTNAM2_0_0_,
user0_.USERNAME as USERNAME3_0_0_,
user0_.LASTNAME as LASTNAME4_0_0_,
task1_.USERID as USERID5_0_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_,
task3_.PROJECTID as PROJECTI3_1_4_,
task3_.ID as ID1_2_4_,
task3_.ID as ID1_2_5_,
task3_.DESCRIPTION as DESCRIPT2_2_5_,
task3_.PROJECTID as PROJECTI3_2_5_,
task3_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_5_,
task3_.USERID as USERID5_2_5_
from
TASK.APP_USER user0_
left outer join
TASK.PROJECT_TASK task1_
on user0_.ID=task1_.USERID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
left outer join
TASK.PROJECT_TASK task3_
on project2_.ID=task3_.PROJECTID
where
user0_.ID=?
Hibernate:
select
project0_.ID as ID1_1_0_,
project0_.NAME as NAME2_1_0_,
project0_.COMPANYNAME as COMPANYN3_1_0_,
task1_.PROJECTID as PROJECTI3_1_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_
from
TASK.PROJECT project0_
left outer join
TASK.PROJECT_TASK task1_
on project0_.ID=task1_.PROJECTID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
where
project0_.ID=?
Hibernate:
select
user0_.ID as ID1_0_0_,
user0_.FIRSTNAME as FIRSTNAM2_0_0_,
user0_.USERNAME as USERNAME3_0_0_,
user0_.LASTNAME as LASTNAME4_0_0_,
task1_.USERID as USERID5_0_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_,
task3_.PROJECTID as PROJECTI3_1_4_,
task3_.ID as ID1_2_4_,
task3_.ID as ID1_2_5_,
task3_.DESCRIPTION as DESCRIPT2_2_5_,
task3_.PROJECTID as PROJECTI3_2_5_,
task3_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_5_,
task3_.USERID as USERID5_2_5_
from
TASK.APP_USER user0_
left outer join
TASK.PROJECT_TASK task1_
on user0_.ID=task1_.USERID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
left outer join
TASK.PROJECT_TASK task3_
on project2_.ID=task3_.PROJECTID
where
user0_.ID=?
Hibernate:
select
user0_.ID as ID1_0_0_,
user0_.FIRSTNAME as FIRSTNAM2_0_0_,
user0_.USERNAME as USERNAME3_0_0_,
user0_.LASTNAME as LASTNAME4_0_0_,
task1_.USERID as USERID5_0_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_,
task3_.PROJECTID as PROJECTI3_1_4_,
task3_.ID as ID1_2_4_,
task3_.ID as ID1_2_5_,
task3_.DESCRIPTION as DESCRIPT2_2_5_,
task3_.PROJECTID as PROJECTI3_2_5_,
task3_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_5_,
task3_.USERID as USERID5_2_5_
from
TASK.APP_USER user0_
left outer join
TASK.PROJECT_TASK task1_
on user0_.ID=task1_.USERID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
left outer join
TASK.PROJECT_TASK task3_
on project2_.ID=task3_.PROJECTID
where
user0_.ID=?
Hibernate:
select
project0_.ID as ID1_1_0_,
project0_.NAME as NAME2_1_0_,
project0_.COMPANYNAME as COMPANYN3_1_0_,
task1_.PROJECTID as PROJECTI3_1_1_,
task1_.ID as ID1_2_1_,
task1_.ID as ID1_2_2_,
task1_.DESCRIPTION as DESCRIPT2_2_2_,
task1_.PROJECTID as PROJECTI3_2_2_,
task1_.ESTIMATEDDURATIONHOURS as ESTIMATE4_2_2_,
task1_.USERID as USERID5_2_2_,
project2_.ID as ID1_1_3_,
project2_.NAME as NAME2_1_3_,
project2_.COMPANYNAME as COMPANYN3_1_3_
from
TASK.PROJECT project0_
left outer join
TASK.PROJECT_TASK task1_
on project0_.ID=task1_.PROJECTID
left outer join
TASK.PROJECT project2_
on task1_.ID=project2_.ID
where
project0_.ID=?
srp 12, 2015 6:07:06 PM
org.hibernate.event.internal.DefaultLoadEventListener onLoad
INFO: HHH000327: Error performing load command
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [hr.tvz.web.aplikacije.domain.Project#4]
srp 12, 2015 6:07:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [springDispatcher] in context with path [/Majcenic_8] threw exception [Request processing failed; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [hr.tvz.web.aplikacije.domain.Project#4]] with root cause
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [hr.tvz.web.aplikacije.domain.Project#4]
at org.hibernate.internal.SessionFactoryImpl$1$1.handleEntityNotFound(SessionFactoryImpl.java:253)
at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:219)
at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:275)
at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151)
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106)
at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1025)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:716)
at org.hibernate.type.EntityType.resolve(EntityType.java:502)
at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:170)
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1115)
at org.hibernate.loader.Loader.processResultSet(Loader.java:973)
at org.hibernate.loader.Loader.doQuery(Loader.java:921)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355)
at org.hibernate.loader.Loader.doList(Loader.java:2554)
at org.hibernate.loader.Loader.doList(Loader.java:2540)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370)
at org.hibernate.loader.Loader.list(Loader.java:2365)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:497)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:236)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1300)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
at hr.tvz.web.aplikacije.dao.TaskDaoHibernate.fetchAllTasks(TaskDaoHibernate.java:56)
at hr.tvz.web.aplikacije.service.TaskServiceImpl.fetchAllTasks(TaskServiceImpl.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy30.fetchAllTasks(Unknown Source)
at hr.tvz.web.aplikacije.controller.FetchAllTasksController.fetchDataAndShowScreen(FetchAllTasksController.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
<body>
<sf:form id="form" method="POST" action="fetchAllTasks.html"
modelAttribute="chosenTask">
<table id='reportTable' class='display' border="1"
style="font-family: Arial; font-size: 18px;">
<tr>
<td><fmt:message key="taskList.num" /></td>
<td><fmt:message key="taskList.lastName" /></td>
<td><fmt:message key="taskList.firstName" /></td>
<td><fmt:message key="taskList.username" /></td>
<td><fmt:message key="taskList.projectName" /></td>
<td><fmt:message key="taskList.companyName" /></td>
<td><fmt:message key="taskList.description" /></td>
<td><fmt:message key="taskList.estimation" /></td>
<sec:authorize access="hasRole('Administrator')">
<td><fmt:message key="edit" /></td>
</sec:authorize>
</tr>
<c:forEach var="task" items="${tasksList}">
<tr>
<td style="text-align: center;"><c:out value="${task.id}" /></td>
<td style="text-align: center;"><c:out
value="${task.user.ime}" /></td>
<td style="text-align: center;"><c:out
value="${task.user.prezime}" /></td>
<td style="text-align: center;"><c:out
value="${task.user.korisnickoIme}" /></td>
<td style="text-align: center;"><c:out
value="${task.project.nazivProjekta}" /></td>
<td style="text-align: center;"><c:out
value="${task.project.nazivTvrtke}" /></td>
<td style="text-align: center;"><c:out
value="${task.opisZadatka}" /></td>
<td style="text-align: center;"><c:out
value="${task.trajanje}" /></td>
<sec:authorize access="hasRole('Administrator')">
<td style="text-align: center;">
<button id="${task.id}" onClick="chooseTask(this.id)">
<fmt:message key="edit" />
</button>
</td>
</sec:authorize>
</tr>
</c:forEach>
</table>
<input type="hidden" name="chosenTask" id="chosenTask" />
</sf:form>
<div>
<center>
<form:form method="POST">
<input type="submit" name="backButton"
value="<fmt:message key="taskList.button" /> ">
</form:form>
<form method="POST" action="j_spring_security_logout">
<input type="submit" value="<fmt:message key="logout" />">
</form>
<jsp:include page="/WEB-INF/jsp/i18n/langSelect.jsp" />
</center>
</div>
<script type="text/javascript">
function chooseTask(clicked_id) {
document.getElementById("chosenTask").value = clicked_id;
}
</script>
</body>