• el标签输出以及使用javaBean和读取


    一、以网页来总结【查阅时根据el.jsp列出的知识点进行查看学习,思考,后续如有更新,再在后文续写】:

    1、el.jsp:

    <%@page import="java.util.ArrayList"%>
    <%@page import="java.util.List"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>el表达式</title>
    </head>
    <body>
    <%
    int x = 10011;
    pageContext.setAttribute("ax", x);
    Cookie c = new Cookie("uemail","wwww@qq.com");
    response.addCookie(c);
    request.setAttribute("uemail", "123@qq.com");
    request.removeAttribute("uemail");
    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    list.add("c");
    pageContext.setAttribute("culist", list);
    %>
    知识点一:<br/>
    输出变量/取出session的值:${ax}<br/>
    重点:取得用户请求的值通常使用request.getParameter(string name);request.getParameterValues(string name);<br/>
    但el只需要${param.name},${paramValues.name}即可<hr>
    --------------------------------------------------------------------------------------------------------
    <br/>
    知识点二、输出cookie的值:<br/>
    ${cookie.uemail.value}
    <hr/>领悟:当从其他页面挑战来此页面时,无法获取cookie。<br/>
    猜想一:相当于本页面没有提请求,而是其他页面提请求,其实并非如此。<br/>
    猜想二:页面已经提取请求,此时服务器已经响应,但页面并未提取到值,再刷新,页面获取cookie里面的值。即先编译代码,运行将cookie加入--->还未响应,便已加载前端代码-->再刷新,则加载。<br/>
    为了验证,改变cookie的值,刷新一次,如改变,则猜想错误,如第一次未改变,第二次改变了,则猜想正确。根据实验结果,猜想二正确。
    ---------------------------------------------------------------<br/>
    从以上大概猜想,java代码在页面时,如值或者代码改变,会先编译或者赋值一次,然后再运行才能得到想要的结果。<br/>
    再次根据实验,得到只有cookie会出现这种情况。应该是请求---》响应机制造成的,类似于需要tcp协议握手。<br/>
    首先,第一次,jsp发起请求,服务器接收到请求,做出代码编译等动作,但并没有及时响应给客户端;第二次,发起请求,服务器做出响应并将值返回给客户端。
    <br/>
    知识点三、读取initParam【通过java代码读取的省略】<br/>
    1、首先在web.xml中配置定义全局参数:(参考web.xml)<br/>
    ${initParam.url }<br/>
    注意:web.xml改了之后,一定要重启服务器;这里的访问initParam.url中,url是web.xml中param-value标签的值。<br/>
    知识点四:el表达式<br/>
    2+3=${2+3}<br/>
    判断的值是boolean值:${2>3}<br/>
    知识点四:输出javaBean的值:<br/>
    这里就不做测试,因为el表达式一般不写错都能运行,重点在于深入利旧机制。以及使用语法。<br/>
    加载bean类,并以id创建对象:<br/>
    &lt;jsp:useBean id="user' class="报名.bean类名"&gt;&lt;/jsp:useBean&gt;(&lt;表示<,&gt;表示>)<br/>
    输出javaBean的属性值:${user.name}<br/>
    知识点五、输出集合元素:<br/>
    ${culist[0]}<br/>
    ${culist[2]}<br/>
    <p color="red">注意:</p>
    对于javaBean的数据,取值则可以culist.属性。
    </body>
    </html>

    2、web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmls:xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
       <display-name>elJstl</display-name>
       <welcome-file-list>
          <welcome-file>toel.jsp</welcome-file>
       </welcome-file-list>
       <context-param>
           <param-name>url</param-name>
           <param-value>jdbc:mysql://127.0.0.1:3306/test</param-value>
       </context-param>
    </web-app>

    3、用于测试跳转到el的toel.jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>传值给el页面</title>
    </head>
    <body>
    <a href="el.jsp?name=cisco">传值给el</a>
    </body>
    </html>
  • 相关阅读:
    L2-1 功夫传人 (25分)
    7-11 家庭房产(25 分)
    7-11 玩转二叉树 (25分)
    7-10 排座位 (25分)
    7-12 最长对称子串 (25分)
    7-10 树的遍历 (25分)
    STL
    Max Gcd
    水果
    Rails
  • 原文地址:https://www.cnblogs.com/ciscolee/p/10946061.html
Copyright © 2020-2023  润新知