在JSP页面中调用返回数据库模型的函数

时间:2018-11-05 19:11:43

标签: java jsp

这是我的实现类

@Service
public class QuizServiceImp implements QuizService {

    @Autowired
    QuizCategoryRepository quizCategoryRepository;

    @Override
    public List<QuizCategory> findAll() {
        List<QuizCategory> list = new ArrayList();
        list=(List<QuizCategory>)quizCategoryRepository.findAll();
        return list;
    }

}

JSP

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="java.util.List"%> 
<%@page import="com.quizV1.service.QuizServiceImp"%> 
<%@page import="com.quizV1.model.QuizCategory"%> 

<%@ taglib uri = "java.sun.com/jsp/jstl/core" prefix = "c" %> 
<%-- <%@ page isELIgnored="false"%> --%> 

<% QuizServiceImp ob=new QuizServiceImp(); List<QuizCategory> list=ob.findAll(); %>

我想在jsp页面中调用此功能

1 个答案:

答案 0 :(得分:0)

您使用Spring将依赖项注入到QuizServiceImp中,因此您不能使用构造函数来初始化QuizServiceImp的变量,因为在这种情况下,Spring不知道您已经创建了新实例,因此需要注入依赖性。

要修复此问题,您需要从Spring上下文中获取bean。

<%@page import="org.springframework.web.context.WebApplicationContext"%>
<%@page import="org.springframework.web.context.support.WebApplicationContextUtils"%>

<%
  WebApplicationContext context = WebApplicationContextUtils
        .getWebApplicationContext(application);
  QuizService service = context.getBean(QuizeService.class);
%>