最常用的 隐式对象有${param}和${paramValues}.
2:<%@ page isELIgnored="true"%> 表示是否禁用EL语言:
TRUE表示禁止.FALSE表示不禁 止.JSP2.0中默认的启用EL语言.
3:EL 逻辑表达式:
${true and false}结果是false,关系表达式如${5>6} 结 果是false ,算术表达式如 ${5+5} 结果是10
4:读cookie中的值
${cookie.userCountry}
5:)header和headerValues
header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}
6:initParam取得设定web站点的环境参数(Context)
例:一般的方法String userid = (String)application.getInitParameter("userid");
可以使用 ${initParam.userid}来取得名称为userid
7: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} 取得主机端的服务信息
8:其它运算符有三个:Empty运算符、条件运算符、()运算符
例:${empty param.name}、${A?B:C}、${A*(B+C)}
get与post区别
1、get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用?连接,而各个变量之间使用&连接。Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL;
结论:
1、get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制(注:只有ie有这个限制。其他浏览器没有)。post传送的数据量较大,所以在上传文件只能使用Post。一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;(注:文件上传文件大小不包含在这里,只包含文件路径的长度)
2、get安全性非常低(因为用户可以通过URL看到),post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比post方法好;
3、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集;
4、很简单的一个原则,获取数据用get,改变/添加数据用post。因为get会被浏览器缓存,post不会。这样可以提高响应速度。并且用get用户可以从url中看到自己的操作,优化好的情况下可以使get url具备可读性/观赏性。
关于响应速度:
1.get请求是可以被客户端缓存的。比post高效。
2.AJAX环境中get响应快速,post需要先发送header再发送post data。
jstl利用fn截取字符串
<%@ taglib prefix= "fn" uri= "http://java.sun.com/jsp/jstl/functions" %>${fn:substring(book.summary, 0, 55)}