/** return all marks for a given parameter **/ public String marksByField() { System.out.println("----> i AM IN <------"); String redirect = null; // get student num or course num ExternalContext context = FacesContext.getCurrentInstance().getExternalContext(); HttpServletRequest request = (HttpServletRequest)context.getRequest(); String studentnum = request.getParameter("marksByStudentForm:selectOneStudent"); String coursenum = request.getParameter("marksByCourseForm:selectOneCourse"); // String colName; String fiedlValue; if (studentnum != null) { colName = "student"; fiedlValue = studentnum; System.out.println("--> STUD " + studentnum); redirect = "reportstudent"; } else { colName = "course"; fiedlValue = coursenum; System.out.println("--> STUD " + coursenum); redirect = "reportcourse"; } EntityManager em = getEntityManager(); try{ Query q = em.createQuery("select object(o) from Marks where "+ colName + "=" + fiedlValue + " as o"); q.setMaxResults(batchSize); q.setFirstResult(firstItem); myModel = new ListDataModel(q.getResultList()); } finally { em.close(); } return redirect; }