成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaBean實現JSP頁面和代碼分離

開發 后端
本文向您介紹使用JavaBean實現JSP頁面,作者采用一種簡單的方式,通過代碼示例實現了JSP頁面的代碼分離,并總結了自己的一些經驗。

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

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

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代碼,分別用來輸出當前時間和文件路徑。雖然簡單,但很有代表性,進行文本輸出和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頁面的環境對象。有了該對象,我們就可以象在JSP頁面中那樣使用 request、response、session 進行相關的操作了。

2. 創建包含文件

TestInc.jsp

<% demo.setPageContext(pageContext); %>

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

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語句,將我們剛才創建的 TestInc.jsp 文件包含了進來。下面有關日期和文件名的語句也是使用JavaBean的標準語法。運行一下,看看是不是和原來的Test.jsp一樣。

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

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

好了,我們總結一下這種使用JavaBean實現JSP頁面方式的好處:

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

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

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

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

5. 開發人員甚至可以直接在該包含文件內部直接創建 Java 方法,就像你原來所熟悉的那樣。

 

【編輯推薦】

  1. JavaBean與MBean詳解
  2. Servlet與Javabean配置
  3. JavaBean使用技巧
  4. JavaBean實現多文件上傳的兩種方法
  5. JavaBean與MBean詳解
責任編輯:佚名 來源: 網易博客
相關推薦

2009-07-01 11:05:18

頁面與代碼分離JSP源碼

2009-06-29 17:09:49

JavaBeanJSP

2009-09-02 09:44:01

JSP和JavaBea

2009-06-25 14:26:07

JSPJavaBeanServlet

2009-07-03 10:06:50

JSP JavaBeaJSP Servlet

2009-06-30 08:55:21

JSP和javabea

2009-07-03 17:33:06

JSP中調用JavaB

2009-07-02 09:25:41

JSP實現頁面跳轉

2009-01-18 10:56:27

JSTLEL表達式JSP標準標記庫

2009-07-02 10:13:47

ASP和JSPJSP頁面

2009-07-06 18:23:56

Struts和JSPJSP頁面

2009-07-06 17:07:11

JSP實例

2009-02-01 10:04:44

JSPJavaBeanJavaBean應用

2009-07-07 15:57:29

JSP購物車

2009-07-02 13:36:24

動態頁面JSP技術

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-03 18:12:49

JSP頁面

2009-03-05 10:10:52

餅圖數據庫JSP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美伦理一区 | 国产亚洲成av人片在线观看桃 | 欧美在线视频网站 | 日韩成人免费av | 91视频在线观看 | 精品国产色 | 91av视频在线播放 | 欧美日韩亚洲二区 | 国产美女在线观看 | 粉嫩一区二区三区性色av | 亚洲人人 | 国产日韩视频 | 九九久久免费视频 | 婷婷激情在线 | 91视频一区 | 久久99精品久久久 | 国产精品久久久久久久久久久久久久 | 久久久国产一区二区三区 | 午夜二区 | 国产一区欧美一区 | 国产精品1区 | av毛片在线播放 | av入口 | 在线播放国产一区二区三区 | 久久激情视频 | 中文字幕 在线观看 | 亚洲欧美在线观看 | 国产在线视频在线观看 | 国产成人精品免高潮在线观看 | 激情久久网 | 91最新入口 | a级在线免费观看 | 欧美一级一区 | 男人久久天堂 | 国产在线精品一区二区三区 | 9久9久 | 超碰激情| 日本久久久一区二区三区 | 国产精品视频一区二区三区 | 国精日本亚洲欧州国产中文久久 | 精品无码久久久久国产 |