鱼C论坛

 找回密码
 立即注册
查看: 2954|回复: 0

[学习笔记] JSP&Servlet22

[复制链接]
发表于 2017-8-17 22:07:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

        JSP中与Javabean相关的标签(JSP动作标签)
                <jsp:useBean>:创建或者查询bean   无则创建 有责查询
                        在当前jsp页面创建Javabean对象,把创建的Javabean对象保存到域对象中
                       
                        <jsp:useBean>标签默认是把Javabean对象保存到page域,还可以通过scope(范围)标签属性来指定保存的域
                        <jsp:useBean id="user1" class="cn.itcast.domain.user" scope="page">
                        <jsp:useBean id="user2" class="cn.itcast.domain.user" scope="session">
               
                <jsp:setProperty>
                设置名为 user1的这个Javabean的username属性值为admin
                <jsp:setProperty property="username" name="user1"  value="admin">
               
                <jsp:getProperty>
                <jsp:getProperty property="username" name="user1">
                获取名为user1的javabean的名为username属性值
               
EL表达式语言 Expression Language
        EL的作用
                JSP2.0把html同css分离、html和JavaScript分离,把java代码替换成标签(使用标签好处:非java人员都懂得使用)
                JSP2.0为纯标签页面,不包含<%...%>  <%!....%>  <%=…..%>,EL是一门表达式语言,替代了<%=…%>
               
        EL的格式
                ${…..}
       
        EL表达式来读取四大域
                ${}全域查找 如果不存在对应的属性,则输出空字符串,而不是null
                ${pageScope.xxx}   ${sessionScope.xxx}   ${requestScope.xxxx}  ${applicationScope.xxxx}
               
                Javabean导航
                        利用EL表达式可以不调用方法,访问Javabean任何属性
                         ${requestScope.emp.address.street }
                                在request域中寻找emp属性,然后遍历该emp对象,找到属性address,然后遍历该address
                                对象找到属性street,返回其属性值
               
           EL内置对象
                内置11个对象,无需创建即可使用,有10个是map类型,最后一个是pageContext对象
                pageScope
                requestScope
                sessionScope
                applicationScope
                param
                intparam
                paramValues
                header
                headerValues
                Cookie
               
                域相关内置对象(重点)

                pageScope        ${pageScope.name}等同于 pageContext.getAttribute("name")
                requestScope        ${requesScope.naem}等同于request.getAttribute("name")
                sessioinScope        ${sessionScope.name}等同于session.getAttribute("name")
                applicationScope        ${applicationScope.name}等同于application.getAttribute("name")
               
                当用EL访问域中的Javabean属性,前提:由于EL只做读操作,所以Javabean必须提供get方法
               
                请求参数相关内置对象
                        Param和paramValues 这两个内置对象用来获取请求参数
                        Param:        Map<String,String>类型,param对象用来获取参数,与request.getParameter()相同
                        paramValues        Map<String,String[]>类型,当一个参数名,对应多个参数值时可以使用它
                       
                请求头相关内置对象
                        Header和headerValues是与请求头相关的内置对象
                        Header        Map<String,String>类型,获取请求头
                        headerValues        Map<String,String[]>类型,当一个请求头名称,对应多个值时,使用这个对象
                       
                        由于都是Map类型,有两种调用格式:
                                1、map.key (点方法)  2、map['key'] (下标方法)
                                EL表达式在获取Map的值或Bean的属性值时,可以使用"点"的方法,也可以使用"下标"的方法,当Map的键或Beand属性名中包含下划线时,必须使用 下标方法
                                例子:当 headerValues对象请求 属性User-Agent
                                                由于里面包含-号,el表达式会当做减法运算
                                                因此使用 map['key'] 格式
                                               
                应用初始化参数相关内置对象
                initParam        initParam是Map<String,String>类型,对应web.xml中的<context-param>参数
               
                Cookie内置对象
                Cookie:Map<String,Cookie>类型,其中key是cookie的name,value是cookie对象  ${cookie.username,value}
               
                pageContext内置对象
                PageContext类型 ${pageContext.request.contextPath}
                <a href="${pageContext.request.contextPath }/el/a.jsp">点击这里</a>
                       
                <form action="${pageContext.request.contextPath }/initParam/a.jsp" method="post">
                        <input type="submit" value="xxx">
                </form>
                       
                ${pageContext.session.id }

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 17:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表