当前位置: 首页 > 图文教程 > 网络编程 > JSP > html与jsp开发分离技术

JSP
搭建Eclipse+MyEclipse开发环境
卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!
一个jsp+AJAX评论系统
JSP 多个文件打包下载代码
JSP 动态树的实现
jsp 重复提交问题
J2ME/J2EE实现用户登录交互 实现代码
访问JSP文件或者Servlet文件时提示下载的解决方法
JSP EL表达式详细介绍
JSP 报表打印的一种简单解决方案
jsp 自定义标签实例
AJAX自学练习 无刷新从数据库后台取数据显示
AJAX 自学练习 请求与显示
AJAX 自学练习 无刷新提交并修改数据库数据并显示
jsp 文件上传浏览,支持ie6,ie7,ie8
JSP application(return String)用法详例
jsp form表单方法示例
JSP request(return String)用法详例
JSP forward用法分析实例代码分析
JSP JavaBean的setProperty属性

JSP 中的 html与jsp开发分离技术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 38 ::
收藏到网摘: n/a

 

    在传统的JSP程序中,我们将HTML代码与Java代码混合在一起编写,这样虽然方便,但同时也导致页面难以维护,HTML开发人员和JSP开发人员负担加重,我们可以将这种传统的技术成为页面拉数据技术

    怎样才能做到将HTML开发和JSP开发分离呢?答案就是使用Tag技术,通过使用Tag技术,我们就可以在页面程序中不出现JSP代码,在需要数据的地方,大家先约定好标签,然后由Tag的后台处理程序去替换这些标签,显示数据。我称这种技术叫做向页面推数据,页面只要定义好格式就行了。这样,我们可以让HTML开发人员专注于页面的外观,而Java程序员则不用理会页面显示,专注于后台程序,大大提高了程序的可维护性和方便性。便于各程序员之间的协作开发。

    首先你要懂一些Tag技术,然后才能阅读本文。下面是样例程序:

一、首先是替换字符串的replace函数

  // 替换字符串函数
  // String strSource - 源字符串
  // String strFrom   - 要替换的子串
  // String strTo     - 替换为的字符串
  public static String replace(String strSource, String strFrom, String strTo)
  {
      // 如果要替换的子串为空,则直接返回源串
      if(strFrom == null || strFrom.equals(""))
          return strSource;
      String strDest = "";
      // 要替换的子串长度
      int intFromLen = strFrom.length();
      int intPos;
      // 循环替换字符串
      while((intPos = strSource.indexOf(strFrom)) != -1)
      {
          // 获取匹配字符串的左边子串
          strDest = strDest + strSource.substring(0,intPos);
          // 加上替换后的子串
          strDest = strDest + strTo;
          // 修改源串为匹配子串后的子串
          strSource = strSource.substring(intPos + intFromLen);
      }
      // 加上没有匹配的子串
      strDest = strDest + strSource;
      // 返回
      return strDest;
  }

二、Tld文(MyBookTag.tld) 定义你的标签


<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
  <tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
  <short-name></short-name>
  <tag>
    <name>ListBook</name>
    <tag-class>com.book.taglib.ListBookTag</tag-class>
    <body-content>JSP</body-content>
  </tag>
</taglib>

三、Tag的后台处理文件,负责解释标签(ListBookTag.java)

package com.book.taglib;

import java.util.*;
import java.lang.*;

import com.book.model.bookmodel;
import com.book.utils.StringHelper;

import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.BodyContent;