jsp入门

作者: Butif_D | 来源:发表于2018-10-14 22:31 被阅读0次

${pageContext.request.contextPath} // 在JSP页面动态获得项目名


类型 翻译成Servlet对应的部分 注意

<%...%>:Java程序片段 翻译成Service()方法里面的内容

<%=...%>:输出表达式 翻译成Service()方法里面的内容,相当于调用out.print() 输出表达式不能以;结尾

<%!...%>:声明成员变量 翻译成Servlet里面的内容

eg:
<table border="1px" width="500px">

    <% 

    for(int i = 0;i < 8;i++){

        %>

        <tr>

            <%for(int j = 0; j < 5;j++){

                %>

                <td>1</td>

                <%

            } %>

        </tr>

        <%

    }

    %>



</table>    

三大指令:
声明格式:
指令作用:声明当前页面的一些属性和行为的

语法   <%@指令的类型  属性=属性值 属性=属性值   %>
  1. page指令:定义JSP文件中的全局属性.
    重要的属性:
    import:导包



    pageEncoding:当前page的编码 utf-8



    Content-Type:设置mini类型,缓冲区编码以及高速浏览器用什么方式打开 utf-8
  1. include指令:用于引入其他的页面,静态包含
    <%@ inlucde file="">

  2. taglib指令:用于引入标签库

    <%@ taglib  属性 =属性值 %>

九大内置对象:
request HttpServletRequest

response        HttpServletResponse 

session     HttpSession 

out     JspWriter   

exception       Throwable   

application ServletContext  相当于Servlet里面的ServletContext

config      ServetConfig    

page        Object(this)    指当前的页面

pageContext PageContext 当前页面的上下文

四大域对象
pageContext 当前页面

request     一次请求, 转发有效 Servlet和JSP直接数据的传递

session     会话(多次请求),

application 整个应用

    pageContext的作用:



        1.作为域对象存取值(当前页面)

​ setAttribute(String name,Object obj);

​ getAttribute(String name);

​ removeAttribue(String name);
2.获得其它8个内置对象

​ getRequest(), getSession()....
3.便捷获得域(四个)对象的值

pageContext.findAttribute(String name);依次从pageContext,request,session,application获取值,

动作标签

语法:

<jsp:标签名 属性="属性值"/>

<jsp:forword >:在jsp页面中完成请求转发
<jsp:incude >:动态包含

静态包含和动态包含区别

​ 静态包含使用的是include指令, 动态包含使用的是jsp动作标签

​ 静态包含相当于代码拷贝,只生产一个Servlet; 动态包含有几个jsp就生成几个Servlet,最终再整合在一起展示


EL表达式:代替脚本 <% %>
语法:${el表达式}
作用: 获取数据. 获取的是域对象(pageContxt,request,session,application)中存储的数据
EL执行运算
获得常用WEB开发的对象.

简单数据: username= "dusig"
${username} --> "dusig"

数组/list: ${key[index]}

map: ${key.键}, key就是存到域里面的key,键是map的键

对象: ${key.属性名}

特殊情况:[]和.方式的区别

​ 只要是能用.的都可以使用[]

​ 带下标(数组,list)要用[]

​ 有特殊字符的要用[]

获取的是四个域范围的值,存入四个域中

能获取到则获取,获取不到返回" "字符串 ,不是返回null

${域中属性名}:依次从pageScope,requestScope|sessionScope|applicationScope中查找指定的属性

​ 若找到,立即返回,且结束该次查找

​ 若找不到返回""

若key中出现了".""+""-"等特殊的符号的时候,快捷获取的方式不好使,必须使用以下方式:

​ ${xxxScope["属性名"]}


特殊情况:

<%

    request.setAttribute("aa.bb", "ccc");



    Map map = new HashMap();

    map.put("a.b", "c");

    

    request.setAttribute("m", map);

%>

<!--获取不到  -->

${aa.bb }

<!--使用如下方式  -->

${requestScope["aa.bb"] }

  <!--获取不到  -->

  ${m.a.b }



  <!--使用如下方式  -->



  ${m["a.b"] }

非空判断: ${empyt 属性名};属性名 就是域对象里面的key值
+: +只能做加法运算,不能拼接字符串

获取参数相关的:

param , 作用相当于request.getParameter() name=zs&age=18 ${param}--> ${param.name}



paramValues,作用相当于request.getParameterValues(name) name=zs&age=18&hobby=lq&hobby=zq

获取请求头信息相关的

header



headerValues

全局初始化参数相关

initParam

获取cookie:
Cookie c=new Cookie("lastTime","123123213");

​ response.addCookie(c);

${cookie} 

​ ${cookie.lastTime} //根据key获得的当前的cookie对象

​ ${cookie.lastTime.value}; //获得的当前的cookie存的值 ---> 原理cookie对象.getValue();


JSTL:标签库:
if标签语法

<c:if test="el表达式${..}" [var="给之前的表达式的结果起个名字"] [scope="将结果保存在那个域中 默认page"]>

</c:if>

eg:
<%request.setAttribute("a", 3); %>

<c:if test="${a>1}" var="i" scope="page">



</c:if>
${i }

choose标签:
<%

    request.setAttribute("a", "前端");

%>



<c:choose> 

    <c:when test="${a == '前端' }">

        前端

    </c:when>
</c:choose>

foreach:
c:forEach中的varStatus属性。

  指向一个字符串,该字符串引用一个对象。  map.put("vs",一个对象);



这个对象记录着当前遍历的元素的一些信息:



     index:返回索引。从0开始



       count:返回计数。从1开始



     last:是否是最后一个元素



       first:是否是第一个元素

··················
eg:
<c:forEach items="${li }" var="p">

            <tr>

                <td>${p.pid }</td>

                <td>${p.pname }</td>

                <td>${p.price }</td>

                <td>${p.pdesc }</td>



            </tr>

    </c:forEach>

相关文章

  • JSP技术

    1.学习内容 JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 2.JSP技术入门...

  • 学习参考文章

    JSP入门及MyEclipse的使用

  • Jsp入门实战上

    前面讲了servlet入门实践现在开始介绍jsp入门实践,开发环境的搭建请参考我前面的tomcat的文章,jsp入...

  • Day16--Cookie&Session&JSP

    会话技术 Cookie JSP:入门学习 Session

  • Jsp入门须知

    jsp入门 jsp老弟是啥? jsp全称是Java Server Pages,是Java所提供的一门用于开发动态W...

  • JavaWeb学习记录-Jsp登录注册功能完整示例

    HelloJsp Jsp入门学习工程,实现jsp注册登录功能 源代码下载:https://github.com/t...

  • JSP入门

    web开发相应技术 前端技术 html css js 动态语言技术 Java jsp php 数据库技术 orac...

  • jsp入门

    ${pageContext.request.contextPath} // 在JSP页面动态获得项目名 类型 ...

  • JSP入门

    JSP的基本语法:1.JSP声明语法。2、JSP程序脚本。3、JSP脚本注释。4、JSP内容输出表达式。5、JSP...

  • JSP入门

    JSP概述 JSP( Java Server Page),它和servlet技术一样,都是SUN公司定义的一种用于...

网友评论

      本文标题:jsp入门

      本文链接:https://www.haomeiwen.com/subject/rxtxzftx.html