自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 后端
本文向您介紹使用JavaBean實(shí)現(xiàn)JSP頁面,作者采用一種簡單的方式,通過代碼示例實(shí)現(xiàn)了JSP頁面的代碼分離,并總結(jié)了自己的一些經(jīng)驗(yàn)。

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

首先看我們要進(jìn)行分離操作的原文件

Test.jsp

  1. > 
  2.  
  3. <html> 
  4.  
  5.   <head> 
  6.  
  7.     <title>My JSP 'Test.jsp' starting pagetitle> 
  8.  
  9.   head> 
  10.  
  11.    
  12.  
  13.   <body> 
  14.  
  15.     This is my JSP page. <br> 
  16.  
  17.     Date : <%= new java.util.Date().toString() %> <br> 
  18.  
  19.     File : <input value="<%= request.getServletPath() %>" />   
  20.  
  21.   body> 
  22.  
  23. html> 

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

1. 編寫JavaBean

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

DemoBean.java

  1. package com.mycompany;  
  2.  
  3. import java.util.Date;  
  4.  
  5. import javax.servlet.jsp.*;  
  6.  
  7. import javax.servlet.http.*;  
  8.  
  9. public class DemoBean {  
  10.  
  11.   private PageContext pageContext;  
  12.  
  13.     
  14.  
  15.   public void setPageContext(PageContext pageContext) {  
  16.  
  17.     this.pageContext = pageContext;  
  18.  
  19.   }  
  20.  
  21.     
  22.  
  23.   public String getDate() {  
  24.  
  25.     return new Date().toString();  
  26.  
  27.   }  
  28.  
  29.     
  30.  
  31.   public String getFilename() {  
  32.  
  33.     HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();  
  34.  
  35.     return request.getServletPath();  
  36.  
  37.   }  
  38.  

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

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

TestInc.jsp

<% demo.setPageContext(pageContext); %>

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

3. 修改原JSP文件

Test.jsp

  1. <%@ include file="TestInc.jsp" %> 
  2.  
  3. > 
  4.  
  5. <html> 
  6.  
  7.   <head> 
  8.  
  9.     <title>My JSP 'Test.jsp' starting pagetitle> 
  10.  
  11.   head> 
  12.  
  13.   <body> 
  14.  
  15.     This is my JSP page. <br> 
  16.  
  17.     Date : <jsp:getProperty name="demo" property="date" /> <br> 
  18.  
  19.     File : <input value="<jsp:getProperty name="demo" property="filename" />"/>   
  20.  
  21.   body> 
  22.  
  23. html> 

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

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

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

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

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

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

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

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

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

 

【編輯推薦】

  1. JavaBean與MBean詳解
  2. Servlet與Javabean配置
  3. JavaBean使用技巧
  4. JavaBean實(shí)現(xiàn)多文件上傳的兩種方法
  5. JavaBean與MBean詳解
責(zé)任編輯:佚名 來源: 網(wǎng)易博客
相關(guān)推薦

2009-07-01 11:05:18

頁面與代碼分離JSP源碼

2009-06-29 17:09:49

JavaBeanJSP

2009-06-25 14:26:07

JSPJavaBeanServlet

2009-09-02 09:44:01

JSP和JavaBea

2009-07-03 10:06:50

JSP JavaBeaJSP Servlet

2009-06-30 08:55:21

JSP和javabea

2009-07-03 17:33:06

JSP中調(diào)用JavaB

2009-07-02 09:25:41

JSP實(shí)現(xiàn)頁面跳轉(zhuǎn)

2009-02-01 10:04:44

JSPJavaBeanJavaBean應(yīng)用

2009-07-06 17:07:11

JSP實(shí)例

2009-01-18 10:56:27

JSTLEL表達(dá)式JSP標(biāo)準(zhǔn)標(biāo)記庫

2009-07-07 15:57:29

JSP購物車

2009-07-06 18:23:56

Struts和JSPJSP頁面

2009-07-02 10:13:47

ASP和JSPJSP頁面

2009-07-02 13:36:24

動態(tài)頁面JSP技術(shù)

2009-07-03 17:41:47

JavaBean Se

2009-07-14 11:15:35

MyEclipse 單

2009-06-30 10:33:00

JSP JavaBeaServlet

2009-07-06 09:34:19

JSP頁面

2009-07-01 18:50:29

Dreamweaver
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號