`

jsp2.0学习

JSP 
阅读更多
一.使用java实现标签
1.java
public class HelloWorldTag extends SimpleTagSupport {
@Override
public void doTag() throws JspException, IOException {
getJspContext().getOut().write("my hello world!");//输出
}
}


2.tld
<tlib-version>1.0</tlib-version>
<short-name>SimpleTagLibrary</short-name>
<uri>/SimpleTagLibrary</uri>
<tag>
<name>helloWorld</name>
<tag-class>
com.myeclipseide.examples.jsp2.simpletag.HelloWorldSimpleTag
</tag-class>
<body-content>empty</body-content>
</tag>
3.jsp
<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
    <mytag:helloWorld/><!--调用-->

二 .==========重复输出========
a)java
for (int i = 0; i < num; i++) {//num属性
getJspContext().setAttribute("count", String.valueOf(i + 1));//变量
getJspBody().invoke(null);//调用输出一行
}
b)tld
<tag>
  <name>myrepeat</name>
  <tag-class>com.myeclipseide.examples.jsp2.mytag.RepeatTag</tag-class>
  <body-content>scriptless</body-content> <!--body-->
  <variable><name-given>count</name-given>  <!--variable-->
  </variable>
  <attribute>                  <!--attribute-->
   <name>num</name>
   <required>true</required>
   <rtexprvalue>true</rtexprvalue>
  </attribute>
</tag>
c)
    <mytag:repeat num="5">  <!--设置属性-->
    attribution->count:${count }</br> <!--输出变量-->
    </mytag:repeat>
三.使用tag文件
a.
1.WEB-INF/tags
hello.tag (hello)
2.jsp
<%@ taglib prefix="mytags" tagdir="/WEB-INF/tags" %>
<mytags:hello/>

b.带属性
<%@ attribute name="color" %>
<%@ attribute name="bgcolor" %>
<%@ attribute name="title" %>

<table border="1" bgcolor="${color}">
  <tr>
    <td><b>${title}</b></td>
  </tr>
  <tr>
    <td bgcolor="${bgcolor}">
      <jsp:doBody/><!--body-->
    </td>
  </tr>
</table>

c.fragment
1)tag
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!--引入jstl-->
<jsp:directive.tag import="java.util.Date"/><!--引入包-->

<%@ attribute name="normalPrice" fragment="true"%> <!--fragment-->
<%@ attribute name="onSale" fragment="true"%>

<%@ variable name-given="name"%> <!--variable-->
<%@ variable name-given="price"%>
<%@ variable name-given="origPrice"%>
<%@ variable name-given="salePrice"%>

<%
Date now=new Date();
System.out.println(now);
%>

<table border="1">
<tr>
<td>
<c:set var="name" value="Hand-held Color PDA"></c:set><!--值-->
<c:set var="price" value="$298.86"></c:set>
<jsp:invoke fragment="normalPrice"></jsp:invoke><!--fragment调用-->
</td>
<td>
<c:set var="name" value="4-Pack 150 Watt Light Bulbs"></c:set>
<c:set var="origPrice" value="$2.98"></c:set>
<c:set var="salePrice" value="$2.32"></c:set>
<jsp:invoke fragment="onSale"></jsp:invoke>
</td>
</tr>
</table>

2)jsp 定制不同样式
<tags:products>
<jsp:attribute name="normalPrice">
Item:${name }<br/>
Price:${price }
</jsp:attribute>
<jsp:attribute name="onSale">
Item:${name }<br/>
<font color="red"><strike>Was:${origPrice }</strike></font><br/>
<b>Now:${salePrice }</b>
</jsp:attribute>
</tags:products>
<tags:products>
<jsp:attribute name="normalPrice">
<b>${name }</b> @ ${price } ea.
</jsp:attribute>
<jsp:attribute name="onSale">
<b>${name }</b> @ ${salePrice } ea. (was ${origPrice})
</jsp:attribute>
</tags:products>


3.dynamic attributes
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ tag dynamic-attributes="attrMap" %>  <!--动态属性-->
<%@ attribute name="listTag" required="true" %>
<%@ attribute name="itemTag" required="true" %>
<%@ attribute name="separator" required="true" %>

<p> Dynamic Attributes: </p>
<jsp:element name="${listTag}"><!--设置jsp元素-->
    <c:forEach var="attr" items="${attrMap}">
<jsp:element name="${itemTag }"> <!--key,value-->
${attr.key} ${separator} ${attr.value}
</jsp:element>
    </c:forEach>
</jsp:element>

=======jsp使用tag========
<demo:dynamicAttr separator="="
    first="1" second="2" third="3"
    listTag="ul" itemTag="li">

4.fragment 另一例子

<%@ attribute name="template" fragment="true" %>
<%@ attribute name="attr1" %>
<%@ attribute name="attr2" %>
<%@ variable name-given="data" scope="NESTED" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set var="data" value="${attr1}"/>
<jsp:invoke fragment="template"/>
<c:set var="data" value="${attr1} - ${attr2}"/>
<jsp:doBody/>

=======jsp调用====
<%@ taglib prefix="demo" tagdir="/WEB-INF/tags/demo" %>
<demo:fragmentAttr attr1="value1" attr2="value2">
    <jsp:attribute name="template">
        <p> Template: ${data} </p>
    </jsp:attribute>
    <jsp:body>
        <p> Body Content: ${data} </p>
    </jsp:body>
</demo:fragmentAttr>

5.变量
<%@ attribute name="v" required="true" rtexprvalue="false" %>
<%@ variable name-from-attribute="v"
    variable-class="java.lang.Long"
    alias="a" scope="AT_END"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set var="a" value="${123}"/>

<p> TAG: ${v} = ${a} </p>


6.jstl应用
<%@ variable name-given="BV" scope="AT_BEGIN" %>
<c:set var="BV" value="the bv value."/>
<%@ include file="varTest.tagf" %>
${GV}
${GV==2}
<c:if test="${2==2}">

</c:if>
${GV==2?"a":"b"}

2.el
a)static方法
function new StringBuffer(text).reverse().toString():

一些问题:
<jsp:include flush="true" page="part.jsp"/>
<!--设置-->
<jsp:include flush="true" page="content.jsp">
    <jsp:param name="a" value="1"/>
    <jsp:param name="b" value="2"/>
    <jsp:param name="c" value="3"/>
</jsp:include>
<!--获取值-->
${param.a}, ${param.b}, ${param.c}
分享到:
评论

相关推荐

    jsp2.0 学习笔记+完整源码

    **JSP 2.0 学习笔记及完整源码详解** JSP 2.0(JavaServer Pages)是Java平台上的动态网页技术,它允许开发者在HTML、XML或其他标记语言文档中嵌入Java代码,以实现服务器端的动态内容生成。本资料包包括了JSP 2.0...

    《JSP2.0技术手册》

    本手册由林上杰和林康司撰写,针对初学者,提供了全面的JSP 2.0学习指南。 **二、JSP 2.0 的主要特性** 1. **表达式语言(EL)**:EL(Expression Language)是JSP 2.0引入的新特性,用于简化页面中的数据绑定。它...

    JSP2.0技术手册完整版附源码.rar

    2. **JSP 2.0技术手册.pdf**:这份PDF文档应详细介绍了JSP 2.0的技术细节,包括语法、API、最佳实践等,是学习JSP 2.0的重要参考资料。 3. **学习重点.txt**:该文本文件很可能列出了学习JSP 2.0时需要重点关注的点...

    JSP2.0大学教程-覃华

    **JSP 2.0 大学教程** JSP(JavaServer Pages)是Java平台上的一个标准技术,用于创建动态网页。JSP 2.0是这个技术的一个...无论你是初学者还是有一定经验的开发者,本教程都将为你的JSP 2.0学习之路提供坚实的基础。

    JSP2.0技术手册.rar

    同时,`下载说明.txt`可能提供了关于如何获取更多资源或使用手册的指引,而`A5下载- 更全的站长资源平台.url`是一个链接,指向一个包含更多网站开发教程和资源的平台,对深入学习JSP 2.0及网站开发非常有帮助。...

    JSP2.0技术手册.

    总之,《JSP 2.0技术手册》是学习JSP 2.0不可或缺的参考资料,它涵盖了从基础知识到高级特性的全面内容,通过阅读此手册,开发者不仅可以了解JSP 2.0的技术细节,还能掌握实际开发中的最佳实践。

    JSP2.0技术手册完整版+源码

    **JSP2.0技术手册完整版+源码** ...总之,JSP2.0技术手册和源码是深入学习和精通JSP2.0不可或缺的资源。通过阅读手册,结合实际源码分析,可以有效地提高对JSP的理解,从而在Java Web开发领域更上一层楼。

    JSP2.0技术手册 JSP2.0技术手册

    在学习过程中,理解JSP2.0如何与Java EE的其他组件(如EJB、JDBC、JMS等)协同工作是非常重要的。实践项目,如构建动态网站或Web应用,是巩固理论知识和提升技能的最佳途径。通过不断实践,开发者可以掌握JSP2.0的...

    JSP 2.0 技术手册.rar

    《JSP 2.0 技术手册》图文并茂,以丰富的实例为引导,全面介绍了主流的Java Web开发技术——JSP2.0,重点介绍JAVA在展示层的两项重要技术:Java Servlet 与JavaServer Pages。它们是最重要的Java核心技术。对这两项...

    JSP 2.0开发指南或JSP 2.0技术详解手册

    mysql以下是对“JSP 2.0技术手册”介绍的另一种说法,不包含联系方式,且字数少于450字: 《JSP 2.0技术手册》是一本针对Java Server Pages 2.0版本的详尽指南。它为开发者提供了关于JSP 2.0各项功能的深入解析和...

    JSP2.0大学教程 覃华 教学PPT

    通过覃华教授的JSP2.0教学PPT,学习者可以系统地学习JSP2.0的核心概念、新特性,以及如何利用这些特性进行实际的Web应用开发。通过实践项目,加深理解并提升技能,为将来从事Java Web开发打下坚实基础。

    jsp 2.0技术手册中文版

    总之,《jsp 2.0技术手册中文版》涵盖了JSP 2.0的核心概念、新特性和实践技巧,是学习和掌握这一技术的重要参考资料。通过深入阅读和实践,开发者可以更好地利用JSP 2.0构建高效、可维护的Web应用程序。

    jsp2.0_技术手册

    **JSP 2.0 技术手册** JavaServer Pages(JSP)是Sun Microsystems公司推出的一种动态网页技术,它允许开发人员将HTML代码与Java代码分离,使得网页的动态内容和静态内容能够更好地结合。JSP 2.0是JSP技术的一个...

    JSP2.0技术手册part1

    本书图文并茂,以丰富的实例为引导,全面介绍了主流的Java Web开发技术——JSP2.0,重点介绍JAVA在展示层的两项重要技术:Java Servlet 与JavaServer Pages。它们是最重要的Java核心技术。对这两项技术的深入了解,...

    JSP 2.0技术手册 光盘

    本书图文并茂,以丰富的实例为引导,全面介绍了主流的Java Web开发技术——JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。它们是最重要的Java核心技术。对这两项技术的深入了解,...

    JSP2.0 Tag 使用

    在JSP2.0技术规范中,引入了一种新的标签机制,被称为Tag Files(标签文件),其主要目标是为了解决传统JSP页面中脚本元素的使用问题,提供一个更为简洁和高效的方式来进行页面动态内容的添加。开发者可以利用标签...

    jsp2.0 技术手册

    《jsp2.0 技术手册》是一本详细阐述JavaServer Pages(JSP)技术的参考书籍,旨在帮助开发者掌握从基础到高级的JSP技术要点。JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在...

Global site tag (gtag.js) - Google Analytics