初学springMVC,按照模板上编写了个demo。记录下几个问题:
1.第一个问题:
最初的时候,按照示例编写,在控制器Controller类里面写入 request.setAttribute("login_user",login_user);
在jsp中编写 ${login_user.username},但是死活获取不到值,后来改了下方法,使用
<%
User user = (User)request.getAttribute("login_user");
%>
用户名:<%=user.getUsername()%> <br/>
解决了,但是并不是想要的实现方式; 暂时未找到为啥${login_user.username}获取不到值;
2.第二个问题:
编写第二个jsp页面的时候想找一下上一个问题的原因;还是按照上面的方式,并增加一些 EL 表达式;
<c:if test="${requestScope.errors != null}">
<p id="errors">
Error(s)!!
<ul>
<c:forEach var="error" items="${requestScope.errors}">
<li>${error}</li>
</c:forEach>
</ul>
</p>
</c:if>
引入jstl标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
然并卵啊
![](https://img-blog.csdn.net/20170706155747920?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXV4emhfMjUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
后来查了很多,发现少了一个标签,又加入了下面的标签,加上以后就好了。
<%@ page isELIgnored="false" %>
可以控制一组JSP是否使用EL,在每个JSP中也可以指定是否该JSP使用EL。在page directive中的isELIgnored属性用来指定是否忽略。
isELIgnored="true"时直接输出表达式,而isELIgnored=”false”时直接输出 值。
默认isELIgnored=”false”,不知道为啥我这个不是。