前文:歡迎收看《好看的博文沒人贊》系列,JSP標準動做是一種將JAVA和JSP頁面結合的標準規範,用來處理JAVA和JSP頁面之間的關係
本博文將爲各位介紹五種JSP標準動做
JSP標準動做 | ||||
<jsp:useBean> | <jsp:setProperty> | <jsp:getProperty> | <jsp:forward> | <jsp:include> |
1:<jsp:useBean>
經過該標準動做能夠在JSP頁面上建立一個Bean實例,個人理解是:就是在jsp中實例化java中的class,並調用其中的某方法html
其語法:<jsp:useBean id="自命名" class="導包" scope="範圍"/>java
id就是本身命個名;class就是要實例化的java類在哪一個包裏;scope這個是範圍,就是說當前被實例化的類其它頁面能否使用,下面表格是其屬性值web
值 | 描述 |
---|---|
page(默認值) | 只能在當前頁面中使用,加載新頁面會銷燬 |
request | 用戶發送請求時存在 |
session | 一直存在會話中,直到被終止或銷燬 |
application | 整個應用中均可使用,參考java中static原理 |
作個示例:session
建一個javaclass,返回0app
package com.bk.biz.imp; public class JspAction { public int sOut(){ return 0; } }
而後建一個jsp,調用Javaclass去接收0,並輸出到頁面jsp
<%@ page import="com.bk.biz.imp.JspAction" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>JSP標準動做示例</title> </head> <body> <jsp:useBean id="jspAction" class="com.bk.biz.imp.JspAction" scope="page"/> <% int num = new JspAction().sOut(); out.print("<h1>java傳來的數==>"+num+"</h1>"); %> </body> </html>
最後運行的結果是:url
2:<jsp:setProperty>和<jsp:getProperty>
<jsp:setProperty>用於設置useBean中指定的屬性值spa
語法爲:<jsp:setProperty name="id" property="java中的變量名" value="" param=""/>code
value指定顯示的值,param用HTML格式指定顯示的值,這裏須要注意value和param不能同時存在,使用的時候寫一個就能夠了。htm
<jsp:getProperty>用來獲取<jsp:useBean>中指定的屬性值
語法爲:<jsp:getProperty name="id" property="java中的變量名"/>
這兩個動做只會執行對應的setter()\getter()方法,與javaBean中是否存在「標識特性」無關。
怎麼用呢?
——其實他們就是相似javaweb中的實體類封裝後的set()\get()方法
<jsp:setProperty>進行賦值,<jsp:getProperty>進行取值
例子:
//建立Bean
<jsp:useBean id="beanName" class="package entity" scope="page"/>
//賦值
<jsp:setProperty name="beanName" property="java中的變量名" param="我賦的值"/>
//取值
<jsp:getProperty name="beanName" property="java中的變量名"/>
3:<jsp:forward>
用於將用戶的請求轉發到一個HTML文件、JSP頁面或Servlet中
重點是在轉發上,而不是重定向,轉發是能夠傳值的,而重定向沒法傳值
其語法是:<jsp:forward page="轉發到哪裏,這裏填路徑"/>
4:<jsp:include>
將被包含的文件加到指定jsp中
語法爲:<jsp:include page="url" flush="true"/>
注意這裏的flush屬性必須是true,不能是false