溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaBean怎么實現(xiàn)JSP頁面和代碼分離

發(fā)布時間:2021-07-14 10:40:45 來源:億速云 閱讀:114 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“JavaBean怎么實現(xiàn)JSP頁面和代碼分離”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

在JSP編程中,Struts一般只是用來處理form和業(yè)務(wù)邏輯,很多時候我們還是需要使用 "<% java="" code="">" 這樣的語句來操作一些輸出。這樣的方式和ASP很類似,非常不便于程序代碼和頁面設(shè)計維護,網(wǎng)上有很多種分離的解決方案,本文只是我個人推薦的一種簡單方式。

首先看我們要進行分離操作的原文件

Test.jsp

>  <html>    <head>      <title>My JSP 'Test.jsp' starting pagetitle>    head>        <body>      This is my JSP page. <br>      Date : <%= new java.util.Date().toString() %> <br>      File : <input value="" />      body>  html>

這個JSP文件中包含了兩段JSP代碼,分別用來輸出當(dāng)前時間和文件路徑。雖然簡單,但很有代表性,進行文本輸出和HTML控件賦值是我們在JSP文件中寫Java代碼最主要的原因。接下來,我們開始我們的分離過程。

1. 編寫JavaBean

使用 JavaBean Property 來獲取所需的日期和文件名。

DemoBean.java

package com.mycompany;   import java.util.Date;   import javax.servlet.jsp.*;   import javax.servlet.http.*;   public class DemoBean {     private PageContext pageContext;          public void setPageContext(PageContext pageContext) {       this.pageContext = pageContext;     }          public String getDate() {       return new Date().toString();     }          public String getFilename() {       HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();       return request.getServletPath();     }   }

在這個名叫 DemoBean 中,我們提供了setPageContext方法用來獲取JSP頁面的環(huán)境對象。有了該對象,我們就可以象在JSP頁面中那樣使用 request、response、session 進行相關(guān)的操作了。

2. 創(chuàng)建包含文件

TestInc.jsp

<%>

這是個簡單至極的JSP文件,***行代碼是聲明使用JavaBean的語句,第二行代碼調(diào)用了DemoBean.setPageContext()方法將當(dāng)前JSP頁面的pageContext對象傳遞到demo對象中,這下你知道DemoBean是如何獲得環(huán)境對象的吧。至于為什么需要使用這個jsp文件來達到使用JavaBean實現(xiàn)JSP頁面的目的?請繼續(xù)往下看。

3. 修改原JSP文件

Test.jsp

<%@ include file="TestInc.jsp" %>  >  <html>    <head>      <title>My JSP 'Test.jsp' starting pagetitle>    head>    <body>      This is my JSP page. <br>      Date : <jsp:getProperty name="demo" property="date" /> <br>      File : <input value="<jsp:getProperty name="demo" property="filename" />"/>      body>  html>

請注意修改后的JSP文件***行,我們使用了一個include語句,將我們剛才創(chuàng)建的 TestInc.jsp 文件包含了進來。下面有關(guān)日期和文件名的語句也是使用JavaBean的標(biāo)準語法。運行一下,看看是不是和原來的Test.jsp一樣。

include 指令所包含的 jsp 文件,會在***次運行時和原文件合并,被編譯成一個完整的 servlet。

jsp:getProperty 的 property 值從 "getFilename" 變成了 "filename",一定要注意,很多人正在為這個郁悶著呢。

好了,我們總結(jié)一下這種使用JavaBean實現(xiàn)JSP頁面方式的好處:

1. 修改后的JSP文件不再包含java代碼,JavaBean Class更利于程序代碼的維護。

2. 程序開發(fā)人員使用簡單的空白頁就可以進行開發(fā),待頁面設(shè)計人員提交目標(biāo)頁后,只需簡單的編輯即可完成替換。

3. html代碼變得非常干凈,頁面設(shè)計人員修改頁面文件時,不用擔(dān)心誤刪除程序代碼了。

4. 使用INC文件,可以包含多個JavaBean的聲明,利于將不同的任務(wù)分解成多個JavaBean,多個程序員可以獨立、不受干擾地工作。

5. 開發(fā)人員甚至可以直接在該包含文件內(nèi)部直接創(chuàng)建 Java 方法,就像你原來所熟悉的那樣。

“JavaBean怎么實現(xiàn)JSP頁面和代碼分離”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI