【Head First Servlets and JSP】笔记18:JSP指令

mark. jetbrain tomcat配置:https://www.jetbrains.com/help/idea/2017.1/creating-and-running-your-first-web-application.html

PageContext

 任何作用域的属性都可以从PageContext获得,甚至不知道属性处在哪个作用域都可以找到!(属性的查找遵循的顺序是:PageContext--> ServletContext--> ..... 不过,为什么这样的东西在servlet中没有??)

 这意味着什么呢,我们看一下笔记16课本练习代码:

<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<p>hello i'm result</p>
<p>The friends who share your hobby <%=request.getParameter("hobby")%>  is :</p>
<%
    List names = (List) request.getAttribute("names");
    Iterator it = names.iterator();
    while (it.hasNext()) {
        out.println(it.next() + "<br />");
    }
%>
</body>
</html>

尝试把红色的代码换成

 List names = (List) pageContext.getAttribute("names", PageContext.REQUEST_SCOPE);

重新部署、测试,这个时候发现,结果并不受影响。

除此之外还有更简单的方法,那就是上面提到的属性“查找”:

    List names = (List) pageContext.findAttribute("names");

 

JSP指令

省略一些根本不会用到的指令,但是为了在某些情况下能找到,还是需要mark一下:https://www.tutorialspoint.com/jsp/index.htm

认识到你能做什么——>没必要去记忆这些指令,关键是要知道“通过这些指令能做什么”,在需要的时候去查就可以了。

比如在页面乱码的时候要想到pageEncoding...

ClassNotFound的时候要想到import....

 

 

posted @ 2017-06-15 17:06  xkfx  阅读(239)  评论(0编辑  收藏  举报