jsp基础语法Action之jsp:forward/jsp:param & jsp:useBean(四)

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>

猜你喜欢

转载自blog.csdn.net/weixin_42036647/article/details/82690772