我正在尝试编写一个spring引导应用程序,它能够使用modelandview将jsp文件发送回调用者。
以下是控制器方法:
@Controller
public class ExampleController
{
@GetMapping("/login")
public ModelAndView getAuthPage(@RequestParam Map<String, String> params)
{
System.out.println("In Login mapping!");
ModelAndView view = new ModelAndView();
view.setViewName("login");
ModelMap models = view.getModelMap();
models.addAttribute("message", "Log In");
System.out.println("Returning View!");
return view;
}
}
我能让那个方法返回。
下面是application.properties中的三个字段
spring.mvc.view.prefix=/templates/
spring.mvc.view.suffix=.jsp
spring.thymeleaf.enabled=false
以下是我尝试存储login.jsp文件的一些位置的列表:
src/main/resources/templates (only place where I could see them in the jar file)
src/webapp
src/webapp/WEB-INF/views
查看一些--debug输出和这个堆栈溢出问题,该应用程序似乎正在查看一个名为meta-inf/resources的文件夹。jar中有一个meta-inf文件夹,但没有meta-inf/resources文件夹。
如果应用程序正在寻找.jar/meta-inf/resources.login.jsp,有没有一种方法可以使用gradle确保这些jsp文件在那里。否则,有没有办法让应用程序在.jar/boot-inf/classes/templates/中查找那些jsp文件,我现在可以在jar中找到这些jsp文件?
现在,我只想在controller方法返回时检测文件(在jar中),这样我的客户机就不会得到404notfound
注意:我知道这个问题,但提出的解决方案是创建一个战争,而不是一个jar,从现在起,我认为这是一个最后的解决办法类型。
暂无答案!
目前还没有任何答案,快来回答吧!