`

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 学习笔记+完整源码

    jsp2.0 学习笔记+完整源码,包含了JSP开发中要用到的知识.

    JSP 2.0 技术手册.rar

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

    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_0技术手册 及其源码

    JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services技术...

    JSP 2.0 技术手册

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

    JSP2.0技术手册pdf(带示例源码).zip

    书名:JSP 2.0 技术手册(电子书) 格式:PDF 出版:电子工业出版社 作者:林上杰、林康司 本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术...

    jsp2.0技术手册

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

    jsp2.0表达式

    jsp2.0表达式教程,pdf格式的

    jsp2.0 技术手册

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

    JSP 2.0技术手册

    JSP 2.0技术手册,学习JSP的宝典。

    JSP2.0技术手册完整版

    JSP2.0技术手册,18章全,并且带附录。学习JSP2.0的好东西。

    JSP2.0技术手册part6

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

    JSP2.0技术手册part3

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

    JSP2.0技术手册part5

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

    JSP2.0技术手册part2

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

    JSP2.0技术手册part4

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

    JSP2.0技术手册

    JSP2.0技术手册电子版 内容简介: 本书图文并茂,以丰富的实例为引导,全面介绍了主流的Java Web 开发技术—— JSP 2.0, 重点介绍 Java 在展示层的两项重要技术: Java Servlet 与 JavaServer Pages。 它们是最重要...

Global site tag (gtag.js) - Google Analytics