jsp:forward/jsp:param
- 用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理(URL)
格式:
- <jsp:forward page="urlSpec" flush="true"/>
- <jsp:forward page="urlSpec">
<jsp:param name="paramName" value="paramValue"/>
</jsp:forward>
- <jsp:param>用于指定参数和对应的值
举个例子
下面这个例子实现了。用forward.jsp显示了forforward.jsp的内容,实现了一个跳转页面
<!-------------forward.jsp------------>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>forward</title>
</head>
<body>
Weclome to here
<jsp:forward page="forforward.jsp"/> //这个会使得当前页面只会显示forforward.jsp的内容
</body>
</html>
<!--------------forforwad.jsp-------->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>forforward</title>
</head>
<body bgcolor="blue">
here is the forforward page
</body>
</html>
<jsp:forward>与response.sendRedirect的区别
- <jsp:forward>使用同一个request
- response.sendRedirect是不同的request
jsp:useBean 不要使用裸体类,放进包里面
- 通过jsp:useBean,可以在jsp中使用定义好的Bean
- Bean的基本要素:
- 必须要有一个不带参数的构造器,在JSP元素创建Bean时会调用空构造器
- Bean类应该没有任何公共实例变量,也就是说,不允许直接访问实例变量,变量名称首字母必需小写
- 通过getter/setter方法来读/写变量的值,并且将对应的变量首字母改成大写
基本用法:
- <jsp:useBean id="beanName" scope="page l request | session | application" class="package BeanClass" type="typeName" /> //在当前页面有效,在当前session有效....
- <jsp:useBean...>
<jsp setProperty...>
<jsp getProperty...>
</jsp:useBean>
一些例子
//CounterBean.java
package bean;
import java.io.Serializable;
public class CounterBean implements Serializable {
int count = 0;
public CounterBean(){
}
public int getCount(){
count++;
return count;
}
public void setCount(int c){
count = c;
}
}
<%----------text.jsp----------%>
<%@ page import="bean.*"%>
<%
CounterBean cb = new CounterBean();
%>
<font color="red" size="5">
<%=cb.getCount()%>
</font>
这是一种用类的方法,但是不管刷新多少次count只为一,因为是局部变量
<%---------text.jsp----------%>
<%@ page import="bean.*"%>
<%
//CounterBean cb = new CounterBean();
%>
<%--
<font color="red" size="5">
<%=//cb.getCount()%>
</font>
--%>
<jsp:useBean id="cb" class="bean.CounterBean">
</jsp:useBean>
<jsp:setProperty name="cb" property="count" value="23"/> <%--相当于 cb.setCount(23)--%>
<jsp:getProperty name="cb" property="count"/> <%--相当于输出cb的Count--%>
结果为24
<%-----------PageBean.jsp------------%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="counterBean" scope="page" class="bean.CounterBean"/>
<html>
<body>
<H3>CounterBean scope="page" Example</H3>
<b>count:</b><%= counterBean.getCount()%>
<%---类似于 <jsp:getProperty name="counterBean" property="count"/> ---%>
</body>
</html>