<a href="my.jsp?my_id=<%=my_last_id%>">
select top 20 * from mytable where my_id > my_last_id JavaBeans组件是可以轻松地在应用程序重用和集成的java类。任何符合普通规范的java类都可以成为一个JavaBeans组件。
JSP使用JSP语言元素直接支持JavaBeans组件。可以很容易地创建和初始化一个Beans并且读取和修改它们的属性值。
让我们先从一个最简单的例子开始
MyFirstBeans.java
//注意有包,当然可以没有包,但还是让我们从有包的开始吧(毕竟有包的容易很多)!
package test;
//注意这里是公有的。当然可以设置成私有的,但那不适宜于初学者使用。
public class MyFirstBeans implements Serializable{ private String name; public MyFirstBeans(){
//这个构造函数在这里完全可以省略,但如果在有其他构造函数时一定要有最好有。要不然怎么在JSP中初始化呢?您当然可以思考一下。
}
//好了,接下来就是我们的get,set属性对(由于初学,所以一定要注意大小写)。
public String getName(){
return name;
} public void setName(String name){
this.name = name;
}
}
好了,就这样编译好,把.class文件放到classes\test(假定是tomcat)中就行完成了第一个JavaBeans。接下来让我们来看看在JSP中怎么调用它。<jsp:useBean type="test.FirstSaveBean" id="tb" beanName="test.FirstSaveBean"/>
<jsp:setProperty name="tb" property="name" value="KillMM"/>
<%=tb.getName()%> 简单吧!
对就是这样简单。
其中useBean是固定的,说明这里使用了JavaBeans,至于后面的语法,我们基本上可以从下面的语句中来意识:
<%Type id = new BeanName();%>
也就是说,上面第一行的语句相当于这样子(注意不是完全一样,至于和什么完全一样,以后再说吧!):
<%test.FirstSaveBean tb = new test.FirstSaveBean();%>
这个好理解了吧!
这时我们不难看出来后面的语句了:
<%tb.setName("KillMM");%>
<%=tb.getName();%>
怎么样,容易吧!
个人对编程的理解:会了就容易,不会就难。
为什么要使用JavaBeans呢?或者换句话说:我们为什么要使用jsp:useBean呢?原因很简单,为了可视化编程。就是这么简单的原因。而且使用<%test.FirstSaveBean tb = new test.FirstSaveBean();%>比使用jsp:useBean运行速度要快
select top 20 * from mytable where my_id > my_last_id JavaBeans组件是可以轻松地在应用程序重用和集成的java类。任何符合普通规范的java类都可以成为一个JavaBeans组件。
JSP使用JSP语言元素直接支持JavaBeans组件。可以很容易地创建和初始化一个Beans并且读取和修改它们的属性值。
让我们先从一个最简单的例子开始
MyFirstBeans.java
//注意有包,当然可以没有包,但还是让我们从有包的开始吧(毕竟有包的容易很多)!
package test;
//注意这里是公有的。当然可以设置成私有的,但那不适宜于初学者使用。
public class MyFirstBeans implements Serializable{ private String name; public MyFirstBeans(){
//这个构造函数在这里完全可以省略,但如果在有其他构造函数时一定要有最好有。要不然怎么在JSP中初始化呢?您当然可以思考一下。
}
//好了,接下来就是我们的get,set属性对(由于初学,所以一定要注意大小写)。
public String getName(){
return name;
} public void setName(String name){
this.name = name;
}
}
好了,就这样编译好,把.class文件放到classes\test(假定是tomcat)中就行完成了第一个JavaBeans。接下来让我们来看看在JSP中怎么调用它。<jsp:useBean type="test.FirstSaveBean" id="tb" beanName="test.FirstSaveBean"/>
<jsp:setProperty name="tb" property="name" value="KillMM"/>
<%=tb.getName()%> 简单吧!
对就是这样简单。
其中useBean是固定的,说明这里使用了JavaBeans,至于后面的语法,我们基本上可以从下面的语句中来意识:
<%Type id = new BeanName();%>
也就是说,上面第一行的语句相当于这样子(注意不是完全一样,至于和什么完全一样,以后再说吧!):
<%test.FirstSaveBean tb = new test.FirstSaveBean();%>
这个好理解了吧!
这时我们不难看出来后面的语句了:
<%tb.setName("KillMM");%>
<%=tb.getName();%>
怎么样,容易吧!
个人对编程的理解:会了就容易,不会就难。
为什么要使用JavaBeans呢?或者换句话说:我们为什么要使用jsp:useBean呢?原因很简单,为了可视化编程。就是这么简单的原因。而且使用<%test.FirstSaveBean tb = new test.FirstSaveBean();%>比使用jsp:useBean运行速度要快
解决方案 »
- struts1 和struts2 的生命周期
- struts2+spring+ibatis整合到Ubuntu上报错,在Fedora版本上运行正常
- 在线等:logic:equal标签如何进行动态数据的比较以及怎么实现数据绑定到下拉列表
- jsp连oracle时弹出有趣的对话框
- JSP入门
- 关于手机短信开发的几个问题-----女工程师问问题。。。
- 救命啊 怎么在applet中引用一个类
- 一个上传的问题
- javaRMI的问题高手请进
- ssh框架账户管理中头像上传的问题
- 错误:The processing instruction target matching "[xX][mM][lL]" is not allowed是怎么回事?
- 一个访问本地txt文档的applet能运行,客户端为何看不到?(好久没人回)
<%@ page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="cn" scope="page" class="myConnection.Conn" /><!--引用数据库操作的bean,自己完成,这里不再赘述-->
<%
int curpage=1;//当前页
int page_record=20;//每页显示的记录数
//用下面的方法(sql查询完成,速度快)
curpage=Integer.parseInt(request.getParameter("page"));//获取传递的值,需要显示的页
ResultSet rs=cn.rsexecuteQuery("select top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc");
//本查询语句得到的是所要显示的1000页的20条记录,大致思路为——子查询排除需要显示的记录前的所有记录,父查询则对余下的记录进行降序排列
while(rs.next) {
out.println(rs.getInt("id").toString());
}
rs.close();
%>
还是要每次换页时都查询一次数据库