该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
【JSP的脚本】
:翻译成Servlet中的成员内容. 定义变量,方法,类. -- 不建议.
:翻译成Servlet中service方法内部的内容. 定义类,变量
:翻译成Servlet中service方法中out.print();
${pageContext.request.contextPath} 获取当前项目路径
* 设置全局的错误友好页面:
* 在web.xml中设置:
404
/404.jsp
500
/500.jsp
C 标签库 引入
pageContext内置对象 :
* 获得其他的8个内置对象 :编写通用性代码或者框架的时候.
JSP的四个域范围:
* PageScope :当前页面中有效. pageContext PageContext
* RequestScope :一次请求范围. request HttpServletRequest
* SessionScope :一次会话范围. session HttpSession
* ApplicationScope :应用范围 application ServletContext
EL 表达式
使用EL表达式:
* 语法:${ EL表达式 }
【EL操作WEB开发的常用对象11个】
EL功能三:操作WEB开发常用的对象
接收请求的参数
${ param.id }
${ param.name }
${ paramValues.hobby[0] }
${ paramValues.hobby[1] }
获取请求头
${ header["User-Agent"] }
获取全局初始化参数
${ initParam.username }
获取Cookie中的值
${ cookie.history.value }
获取PageContext中的对象
IP地址:${ pageContext.request.remoteAddr }
工程路径:${ pageContext.request.contextPath }
【EL执行运算】
EL的功能二:执行运算
EL执行算数运算
pageContext.setAttribute("n1", "10");
pageContext.setAttribute("n2", "20");
pageContext.setAttribute("n3", "30");
pageContext.setAttribute("n4", "40");
%>
${ n1 + n2 + n3 }
EL执行逻辑运算
${ n1 < n2 } - ${ n1 lt n2 }
${ n1 > n2 } - ${ n1 gt n2 }
${ n1 <= n2 } - ${ n1 le n2 }
${ n1 >= n2 } - ${ n1 ge n2 }
${ n1 == n2 } - ${ n1 eq n2 }
EL执行关系运算
${ n1
${ n1
${ !(n1 < n2) } - ${ not(n1
EL执行三元运算
${ n1 < n2 ? "正确":"错误" }
empty运算
${ user == null } - ${ empty user }
${ user != null } - ${ not empty user }
EL表达式
概述
获取数据的来源(JSP中4个域)
获取数据:
存:
1.pageContext.setAttribute("name","啥");
2.request.setAttribute("name","rValue");
3.session.setAttribute("name","svalue");
4.application.setAttribute("name","avalue");
取:
${pageScope.name} //page域
${requestScope.name}//request
与输入有关的隐含对象
与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。
例如我们要取得用户的请求参数时,可以利用下列方法:
request.getParameter(String name)
request.getParameterValues(String name)
在EL中则可以使用param和paramValues两者来取得数据。
${param.name}
${paramValues.name}
3.其他隐含对象
1)cookie
JSTL并没有提供设定cookie的动作,
例:要取得cookie中有一个设定名称为userCountry的值,可以使用${cookie.userCountry} 来
取得它。
2)header和headerValues
header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}。
另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用headerValues 来取得
这些值。
pageContext取得其他有关用户要求或页面的详细信息。
${pageContext.request.queryString} 取得请求的参数字符串
${pageContext.request.requestURL} 取得请求的URL,但不包括请求之参数字符串
${pageContext.request.contextPath} 服务的web application 的名称
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的协议(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} 取得用户名称
${pageContext.request.remoteAddr } 取得用户的IP 地址
${pageContext.session.new} 判断session 是否为新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主机端的服务信息