Java Web 之设置网页首选项 & 域对象 & EL表达式 & JSTL

一.使用web.xml设置网页首选项

 1.首先在新建JSP项目时,先别急着点Finish,应该先点Next 需连续点两个

  2.然后勾选Generate web.xml deployment descriptor 这个选项,才能点击Finish

 3.这样才会在项目中出现自动创建好了的web.xml文件(不打勾就没有):

 

4.点击web.xml文件,在点击右下角Source,就会出现如图所示的代码页面:

 列表中有6种文件,每次访问项目时,会在你的文件列表找是否有以上其中一种文件类型

 5.使用web.xml设置网页首选项:就是修改web.xml文件中的默认内容,eg:把网页首选项设置为登录页面。

 6.修改了web.xml文件,其项目必须重启服务器 。

 

 二.域对象(四个)

名称

           作用

page(pageContext)

作用域仅限于当前的jsp页面(既不能用来做转发的数据分享,也不能做重定向

的数据分享)

request

作用域仅限于当前请求(转发有效)

session

/作用域仅限于当前会话(一次对话:浏览器的打开和关闭之间称之为一次会话

转发和重定向都可以使用)

application(content)

作用域在当前的服务器内

 1.存值:

 1)pageContext.setAttribute("a", "小羽")

 2)equest.setAttribute("a", "小香")

 3)session.setAttribute("a", "小花")

 4)application.setAttribute("a", "小姣")

2.取值(使用jsp表达式):

1)<%=pageContext.getAttribute("a") %><br>

2)<%=request.getAttribute("a") %><br>

3)<%=session.getAttribute("a") %><br>

4)<%=application.getAttribute("a") %><br>

三.EL表达式

1.What? 什么是EL?

ELExpression Language(表达式语言)。

2.EL的功能

替代JSP页面中的复杂代码(相比较在JSP中嵌入Java代码,EL应用更简单)

3.EL的语法

1)${  EL exprission }

2)${  bean.name } 或  ${  bean['name'] }

3)${bean.name}实质是调用beangetName()方法

4.EL的实例代码。

        ${ "Helloworld" }   // 输出字符串常量
        ${  str  }           // 输出字符串变量 str 的值
        ${ 3 + 2 }           // 输出 3+2 的结果
        ${ user.name}          // 输出 user 对象的 name 属性
        ${user["name"] }    // 同上
        ${  sessionScope ["user"].name }  // 同上
        ${user.name}        // 访问对象 user 的 getName () 方法以得到 name 成员的值。
        ${list[1]}            // 访问 list 对象的第二项。
        ${map["key"]}         // 访问 map 指定键的值。

5.EL运算符 "."与"[ ]" 的相同点和差别。

1)相同点:都可以访问对象有属性。

2)不同点:当属性的名字包含有空格点号等复杂符号时。使用"." 来访问对象有属性将会出现异常。

 

三、JSTL (jsp标准标签库)

1.JSTL的优点

1)提供一组标准标签

2)可用于编写各种动态 JSP 页面

3)JSTL通常会与EL表达式合作实现JSP页面的编码

2.使用JSTL的步骤。

1)在JSP页面添加taglib指令

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

2)使用JSTL标签

3. JSTL标准标签库内的标签。

1)通用标签

set:设置指定范围内的变量值

set标签用于给变量设置值和作用范围(scope= "page|request|session|application" )

<c:set var= "example" value="${100+1}" scope="session"  /> 

out:计算表达式并将结果输出显示

 out 标签在页面上显示信息或变量值

<c:out value="${example}"/>

remove:删除指定范围内的变量

remove 标签用于删除作用域内的变量

<c:remove var= "example" scope="session"/>

2)条件标签

if:if标签用于判断条件是否成立,与Java中的If语句作用相同

test:判断条件表达式,返回true/false  var:变量名用于保存返回的true/false  scope: 指定var变量作用域  

<c:if   test="condition"   var="name"   scope="applicationArea" >

3)迭代标签

forEach:实现对集合中对象的遍历

items指定要遍历的集合对象  var指定集合内数据的变量名称  begin指定从集合的第几位开始  end指定迭代到集合的第几位结束  Step指定迭代的增量

<c:forEach   items=collection   var=name   begin=start   end=end  step=count>

  forEachfor循环语句的变体,实现集合对象(可以是list数组等)的处理


我不惦记你,我靠什么活下去

                                                --《知否》 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔竹观尘世

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值