JSP tag文件配置 自定义标签简单示例

转载 2017年02月20日 16:44:56
本文代码转载自

《Servlet、JSP和Spring MVC初学指南》

前文是关于使用tld文件进行自定义标签内容配置的方法,下面对使用tag文件进行
配置的方法展开介绍。(从下面的例子中会看到 tag所给出的表示方法 仅仅是jsp语法对应
的文件分割描述)

先给出一个利用自定义标签给出 字符char转换的实例

tag文件

<%@ attribute name="input" required="true" %>
<%!
    private String encodingHtmlTag(String tag){
        if(tag == null){
            return null;
        }

        int length = tag.length();
        StringBuilder encodedTag = new StringBuilder(2 * length);
        for(int i = 0;i < length; i++){
            char c = tag.charAt(i);
            if (c == '<'){
                encodedTag.append("<");
            }
            else if(c == '>'){
                encodedTag.append(">");
            }
            else if(c == '&'){
                encodedTag.append("&");
            }
            else if(c == '"'){
                encodedTag.append(""");
            }
            else if(c == ' '){
                encodedTag.append(" ");
            }
            else {
                encodedTag.append(c);
            }
        }
        return encodedTag.toString();
    }
%>


<%= encodingHtmlTag(input)%>
<% setInput("<br/>java test");%>
<%= getInput()%>

可以将整个文件看成一个javaBean 其中<%@ attribute name=""%>
用于配置Bean属性 使用了这种定义后“自然地”可以使用setter getter方法(编辑器一般是无法识别的)

相应jsp文件为

<%@ taglib prefix="easy" tagdir="/WEB-INF/tags" %>
<easy:encode input="<br/> means changing line"/>


从而完成文字打印。

下面的例子给出如何在tag文件中包含(include)另一些内容,如普通的html文件
及进行jsp函数输出的tagf文件

被包含的文件内容
included.html
<table>
<tr>
    <td><b>Menu</b></td>
</tr>
<tr>
    <td>CDs</td>
</tr>
<tr>
    <td>DVDs</td>
</tr>
<tr>
    <td>Others</td>
</tr>
</table>

included.tagf
<%
    out.print("Hello from included tagf");
%>

tag文件

This tag file shows the use of the include directive.
The first include directive demostrates how you can include
a static resource called included html.
<br/>
Here is the content of included html.
<%@ include file="included.html"%>
<br/>
<br/>
The second include directive includes another dynamic resource:
included tagf
<br/>
<%@include file="included.tagf" %>

jsp文件

<%@ taglib prefix="easy" tagdir="/WEB-INF/tags" %>
<easy:includeDemoTag/>

下面来看一个使用<jsp:invoke>对于tag中的fragment(片段)进行调用渲染的例子。


相应的进行内容替换的例子见;
http://www.iteedu.com/webtech/j2ee/jspservletdiary/41.php
http://www.cnblogs.com/javaee6/p/3714753.html
后者在使用了tag后将index.jsp完全作为了页面渲染的配置文件,这为多个jsp页面进行
相似形式的页面配置提供了方便。

invokeDemoTag.tag
<%@ attribute name="productDetails" fragment="true" %>
<%@ variable name-given="productName" %>
<%@ variable name-given="description" %>
<%@ variable name-given="price" %>

<%
        jspContext.setAttribute("productName", "Pelesonic DVD Player");
        jspContext.setAttribute("description", "Dolby Digital output coaxial digital-audio jack," +
                " 5600 lines horizontal resolution-image digest viewing");
        jspContext.setAttribute("price", "65");
%>

<jsp:invoke fragment="productDetails"/>
仅仅是初始化相关属性。
其中<%@ variable> 的设定 使得在tag文件中初始化的变量可以被 下面jsp文件调用。

invokeTest.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="easy" tagdir="/WEB-INF/tags" %>
<html>
<head>
    <title>Product Details</title>
</head>
<body>
    <easy:invokeDemo>
        <jsp:attribute name = "productDetails">
            <table width="220" border="1">
                <tr>
                    <td><b>Product Name</b></td>
                    <td>${productName}</td>
                </tr>
                <tr>
                    <td><b>Description</b></td>
                    <td>$本文代码转载自
《Servlet、JSP和Spring MVC初学指南》

前文是关于使用tld文件进行自定义标签内容配置的方法,下面对使用tag文件进行
配置的方法展开介绍。(从下面的例子中会看到 tag所给出的表示方法 仅仅是jsp语法对应
的文件分割描述)

先给出一个利用自定义标签给出 字符char转换的实例tag文件
<%!
    private String encodingHt</td>
                </tr>
                <tr>
                    <td><b>Price</b></td>
                    <td>${price}</td>
                </tr>
            </table>
        </jsp:attribute>
    </easy:invokeDemo>

</body>
</html>






相关文章推荐

JSP tld文件配置 自定义标签简单示例

本文代码转载自 《Servlet、JSP和Spring MVC初学指南》 有关自定义标签有一个比较全面的博文进行了较详尽的介绍,见: http://blog.csdn.net/a154832918/...

jsp自定义标签的使用以及tld文件配置总结

第一步:在WEB-INF目录下(即与web.xml同级目录)添加名为"my.tld"的文件,文件名可任意取,内容如下 http://java.sun.com/dtd/web-jsptaglibrary...
  • cyl937
  • cyl937
  • 2013-07-17 23:56
  • 4612

jsp tag 自定义标签实现按钮的显示

前些天在一个项目中做了一个最基本的权限管理(标准的权限结构,用户-角色-菜单),后来需要精确地控制到按钮就想到了使用自定义标签(jsp tag)来处理按钮的显示与隐藏。 下面是我参考网上的资料自己写的...

jsp中Tag的使用(自定义标签)

Tag文件可以实现代码的复用,这些代码可能是许多JSP页面都需要的。为了能让一个Web应用中的JSP页面使用某一个Tag文件,必须把这个Tag文件存放到Tomcat服务器指定的目录中,也就是说,如果某...

JSP 自定义标签(Tag)

一、基本概念 1、标签(Tag) 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是...

jsp自定义标签 tag版(jsp) tld版(java)

jsp自定义标签 Tag文件版   实现一个与上篇文章类似的Select标签功能 1.在WEB-INF/tags/select.tag uri="http://...

tag文件-自定义标签

使用 tag 文件定义自定义标签. 1). 可以使用 tag 文件的方式来定义自定义标签. 先前使用过标签处理器类(SimpleTagSupport)来定义自定义标签. 2). 不能直接访问这个...

JSP自定义标签示例源码

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)