我尝试了很多方法但是无法从我的jsp页面调用Spring Controller。即使是简单的字符串渲染也无效。所以这是背景 -
我使用Spring 4.3.9在Tomcat 9.0 M22上运行
我的test.jsp页面在body部分值中包含$ greeting,我可以将其渲染为Controller。
**** web.xml文件****
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/test-servlet.xml</param-value>
</context-param>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-fil`enter code here`e-list>
</web-app>
test-servlet.xml文件
<bean id = "viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value = "/jsp/"/>
<property name="suffix" value=".jsp"/>
****控制器文件****
@Controller
public class HelloMarsTeamController {
@RequestMapping(value = "/test")
public String sayHello(Model model) {
model.addAttribute("greeting", "Hello world");
return "hello";
}
}
当我调用网址http://localhost:8080/marsapp/jsp/test.jsp时,它只是悬挂一个标题为“测试”的空白屏幕。所以似乎调用了jsp但是没有调用控制器的逻辑。
无法确定哪些不正确。
感谢您的帮助..
答案 0 :(得分:0)
[编辑]:
将您的jsp文件夹移动到 WEB-INF ,因为您的servlet在test-servlet.xml
修改下一行后完成了在webContent上查找:
<property name="prefix" value = "/WEB-INF/jsp/"/>
您的调度程序以/test/
为root配置,您只需致电http://localhost:8080/test
并修改控制器,如下所示:
@Controller
public class HelloMarsTeamController {
@RequestMapping(value = "/test", method=RequestMethod.GET)
public ModelAndView sayHello() {
return ModelAndView("test", "Greetings", "Hello from Springframework Controller");
}
}
然后在查看中将其传递到jsp
视图<div>${Greetings}</div>
答案 1 :(得分:0)
伊万,
这是在日志中出现的内容以及仅在部署期间出现的内容。服务器日志中没有出现其他日志消息。下面是我的mvc树的屏幕截图 -
[Spring MVC Tree] [1]
答案 2 :(得分:0)
<%@ page isELIgnored="true" %>
在jsp页面上写下这个。