Jsp EL语法
例:
${sessionScope.user.sex}
所有EL都是以 ${ 为起始、以} 为结尾的。
上述EL范例的意思是:从Session取得用户的性别。如果使用之前JSP代码的写法如下:
<%
User user = (User)session.getAttribute(”user”);
String sex = user.getSex( );
%>
两者相比较之下,可以发现EL的语法比传统JSP代码更为方便、简洁。
EL提供 . 和 [ ] 两种运算符来存取数据,[ ]可以访问集合或者是数组的元素、Bean的属性。
下列两者所代表的意思是一样的,但是需要保证要取得对象的那个的属性有相应的setXxx()和getXxx()方法才行。
例:
${sessionScope.user.sex}
等于 ${sessionScope.user["sex"]}
. 和 [ ] 也可以同时混合使用,如下:
${sessionScope.shoppingCart[0].price}
返回结果为shoppingCart中第一项物品的价格。
在EL中,字符串既可以使用”abc”,可以使用’abc’。
EL运算符
EL的算术运算符和Java中的运算符的大致相同,优先级也相同。
注意:’+’ 运算符不会连接字符串了,他只用于加法运算。
EL关系运算符有以下六个运算符
关系运算符 说 明 &nb ......
上课老师讲解了jsp分页 ,关于计算总页数
他的算法是 totalPage=(totalRecords+pageSize-1)/pageSize; 他说如果不好理解,就用 i f else 判断。
下课看书
偶然想起了以前,的一个算法
totalPage=(totalRecords%pageSize==0)? (totalRecords/pageSize): ((totalRecords/pageSize)+1);
感觉 下面的一个好理解点 ............呵呵 ,如果总记录数除以 每一页的记录数就取 总页数totalRecords/pageSize ,否则取 ((totalRecords/pageSize)+1。
代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标 ......
其代码如下:
<%@page language="java" contentType="text/html" import="java.util.*" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<body>
<%
int a=9;
int b=0;
try{
%>
<%=(a/b)%>
<%
}catch(Exception e){
out.println("page error");//输出到当前页面
out.println("<br>");
out.println(e.getMessage());
System.out.print(e.getMessage());//输出到控制台
}
%>
<c:catch var="error_Message"> //进行除0的错误捕捉
<h1><%=3/0 %>3/0</h1>
</c:catch>
<c:out value="${error_Message}" />//将捕捉到的错误信息输出到当前页面
</body>
</html>
运行结果如下:
page error
/ by zero
java.lang.ArithmeticException: / by zero
另外JSP还有一种错误页面的跳转,如下:
<%@page language="java" contentType="text/html" import="java.util.*" errorPage="error.jsp" %>
加了一句errorPage="error.jsp".
error.jsp代码如下:
<%@page la ......
JSP 如何实现网页定时跳转:
<script language="javascript">
<!--
setTimeout("document.location.href='http://www.163.com'",3000);
//-->
</script>
刷新:
<meta http-equiv="Refresh" content="xxx;yyy.jsp"/>
xxx是秒数
xxx秒之后就会跳转到yyy.jsp
......
JSP 实在servlet 之后发展起来的技术。
运行机制:
1:jsp文件提交服务器,服务器 (Tomcat),初始化 请求和响应对象 ,然后判断jsp文件是否存在 ,如果不存在 404 错误,存在 ,编译成为 。java 文件 ----》。class 文件 。就是一个java的类 ,这个类 ,继承自 httpjspbase ,这个httpjsppage类 又 实现了黄土坡:servlet 的接口 ,说到底 ,jsp页面 被转化成了一个sevlet 类 的实例 。
2:在jsp页面里面 ,首先用JspFactory的getDefaultFactory()方法获取容器实现 的一个JspFactory对象的引用。JspFactory是javax.servlet.jsp包中定义的一个抽象类,其中定义了两个静态方法set/getDefaultFactory()。set方法由JSP容器(Tomcat)实例化该页面Servlet 的时候置入。
在这里可以看见 内置对象
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=ISO-8859-1");
pageContext = _jspxFactory.getPageContext(this, request, response,null, true, 8192, true);
application = pageContext.getServletContext();
conf ......
1. 如何让选中的一行记录高亮显示?
http://topic.csdn.net/t/20050105/09/3699823.html
2. 如何在下拉列表框里选择一个值后跳出新窗口?
http://topic.csdn.net/t/20050107/15/3707444.html
3. 如何在JSP中启动execl?
http://community.csdn.net/Expert/TopicView1.asp?id=4909154
http://community.csdn.net/Expert/TopicView1.asp?id=4685297
4. 两级联动菜单
http://topic.csdn.net/t/20040730/16/3227437.html
5. java中如何把一个目录下的文件移到另一个指定的目录?
http://topic.csdn.net/t/20050112/13/3719237.html
6. 如何制作表格线?
http://community.csdn.net/Expert/TopicView1.asp?id=5130862
7. jsp如判别一个字符在A到Z之间?
http://topic.csdn.net/t/20050113/08/3721286.html
8. 得到一浮点数小数点后4位,如何写以函数截取为两位
http://topic.csdn.net/t/20050117/14/3731712.html
9. 整型转字符?
http://topic.csdn.net/t/20030526/22/1837632.html
10. 显示数据库的记录,点击哪个标题栏,就按照哪个标题排序
http://topic.csdn.net/t/20041226/15/3677011.html
11. 制作两个按钮
??
12. 用什么sql语句将数据库中的一条记录, ......