我知道我在这里做错了,但我无法弄清楚,我需要你的帮助。我会很简短,直奔主题:
存储库
enter code here
@Repository
public interface TemplateRepository extends CrudRepository<Template, Integer>{
@Query("select t.temp_code From Template t where t.temp_area = ?1")
public String getTemplateCode(String temp_area);
}
服务 @Service("模板服务")
public class TemplateService {
@Autowired
TemplateRepository templateRepository;
@Transactional
public String getLeftMenuArea() {
return templateRepository.getTemplateCode("left_menu");
}
}
控制器
@Controller
public class TemplateController {
@Autowired
static TemplateService templateservice;
public static String getLeftMenu() {
return templateservice.getLeftMenuArea();
}
}
JSP
....
<%
TemplateController tc = new TemplateController();
String test = tc.getLeftMenu();
pageContext.setAttribute("test", test);
%>
<div class="tinymce-single responsive-mg-b-30">
<div class="alert-title">
<h2>Notice</h2>
</div>
<div id="summernote1"> <c:out value="${test}" escapeXml="false" />
</div>
</div>
....
当我运行应用程序时,我收到以下错误消息:
SEVERE: Servlet.service() for servlet [spring] in context with path [/eFatura-CE-Systems] threw exception [Beim Verarbeiten von [/WEB-INF/views/index.jsp] ist in Zeile [1078] eine Ausnahme erzeugt worden
1075:
1076: <%
1077: TemplateController tc = new TemplateController();
1078: String test = tc.getLeftMenu();
1079:
1080: pageContext.setAttribute("test", test);
1081: %>
Stacktrace:] with root cause
java.lang.NullPointerException: Cannot invoke "de.efatura.service.TemplateService.getLeftMenuArea()" because "de.efatura.controller.TemplateController.templateservice" is null
at de.efatura.controller.TemplateController.getLeftMenu(TemplateController.java:16)
有没有人比我有更好的主意来使用 Spring Data JPA 方法查询从 MySQL 数据库中获取数据并将其输出到 JSP 文件中?