所以,我想学习一些Spring MVC,我尝试的第一个教程有一个model.addAttribute("printme", "From spring");
和JSP a ${printme}
。JSP EL找不到requestScope变量?
我的控制很简单:
@RequestMapping(value = "index", method = RequestMethod.GET)
public String index(Model modelMap) {
System.out.println("on method");
modelMap.addAttribute("printme", "Hello Spring FROM INDEX !!");
return "index";
}
当我运行它不工作的代码,所以我开始加入到JSP。
我结束了这个在身体:
<h1>
${param.printme}
<br />
${printme}
<br />
${requestScope.printme}
<br />
<%=request.getParameter("printme")%>
<br />
<%=request.getAttribute("printme")%>
<br />
<%=pageContext.findAttribute("printme")%>
</h1>
和我的输出源是这样的:
<h1>
<br />
<br />
Hello Spring FROM INDEX !!
<br />
null
<br />
Hello Spring FROM INDEX !!
<br />
Hello Spring FROM INDEX !!
</h1>
我预计param.printme
我空字符串,以及空从request.getParameter()
。
不应该${printme}
搜索requestScope并找到它?
不宜${printme}
是相同的
${requestScope.printme}
<%=requestScope.getAttribute("printme")%>
和<%=pageContext.findAttribute("printme")%>
?
这是怎么回事,为什么不是${printme}
找到属性?
我知道我可以继续使用${requestScope.printme}
,但它更冗长,我想知道为什么它的行为是这样的。
万一它很重要我使用Tomcat7.0.52,Spring 4.0 xsds和java ee 3.0 xsds。
嗯,我删除了那个有缺陷的项目,所以我无法再比较我所拥有的和您提供的内容。然而,使用它,它工作得很好......我知道我没有明确声明控制器类是一个bean的配置, (注意:我用netbeans,而不是maven) 我仍然试图找出什么xml位控制什么,我有一个上下文:annotation-config(我认为我没有正确使用)上下文:组件扫描与适当的基础包和mvc:注释驱动... 标记你的是正确的,因为它得到预期的结果。 – MatrixPeckham
@MatrixPeckham这可能会帮助你:http://stackoverflow.com/questions/35807056/how-many-ways-are-there-to-configure-the-弹簧框架 - 什么 - 是最differen –