这是我的实现类
@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页面中调用此功能
答案 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);
%>