`

jsp自定义tag在项目中的应用

    博客分类:
  • jsp
 
阅读更多



 JSP中的代码越来越多,冗余的内容自然也就多了,往往一个很小的改动你需要去改动N个页面,工作量大不说,还容易出错。今天带你彻底解决这个问题!

 

tips:

 

  1. 图片点击放大

 

本文介绍的是jsp:tag中的一般使用方式,另外一种叫做:jsp:tld,两者同时使用并不冲突。我们习惯T们称作页面控件,通常一个项目中这两者都会使用到。

 

  1. jsp:tag主要做页面进行逻辑处理后显示,最后的效果就是你可以给T一些参数,T会处理后把产生的结果显示在页面中。举个栗子:<c:if>,<c:for>,<c:set> 都是这样实现的,不信你ctrl点进去看看呗。
  2. jsp:tld会映射到一个具体的类的方法,最后的效果就是你可以在页面上写个标签就可以把数据库的数据显示到页面中。举个栗子:<sec:authorize>,<shiro:hasRole>,不信你再试试。。。。哈哈哈哈
  3. 显示只是其中一种用法,你可以根据你的业务场景和脑洞去想T可以有多少种用法,因为这个标签属于你。
  4. tld在本篇中并没有去介绍T的使用方式,以后可以补上:[JSP]tld在项目中的应用

 

 

1.创建Tag文件

 

我的习惯是先在WEB-INF下创建一个tag文件夹,再按照功能的不同,或者模块的不同划分再划分一个文件夹。比如:WEB-INF/tags/layout

 再创建我的Tag。比如:***.tag

 

 

<%--
  To change this template use File | Settings | File Templates.
--%>
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!--对象-->
<%@ attribute name="nowSitet" type="com.wttech.tciss.jsxy.core.vo.statistics.ShutdownSite" required="false" description="当前时间节点temp"%>
<%@ attribute name="shutdownSitest" type="java.util.List" required="false" description="年度列表数据temp"%>
<!--属性名称-->
<%@ attribute name="selectName" type="java.lang.String" required="false" description="选择框Name"%>
<%@ attribute name="selectId" type="java.lang.String" required="false" description="选择框Id"%>
<%@ attribute name="selectDes" type="java.lang.String" required="false" description="选择框文字描述"%>
<!--业务逻辑:
    做法:将一个对象和集合复制给另外一到另外一对属性中去
    目的:防止控制设置的参数名称与tag使用的参数名不统一的问题
-->
<c:if test="${null!=nowSitet&&null!=shutdownSitest}">
    <c:set var="nowSite" scope="request" target="nowSite" value="${nowSitet}"/>
    <c:set var="shutdownSites" scope="request" target="shutdownSites" value="${shutdownSitest}"/>
</c:if>
<th class="r" width="116">${not empty selectDes?selectDes:"年度信息"}:</th>
<td width="220">
    <select id="${not empty selectId?selectId:'shutdownSiteId'}" name="${not empty selectName?selectName:'shutdownSiteName'}" 
    class="form-control w210px">
        <c:forEach var="site" items="${shutdownSites}">
            <c:choose>
                <c:when test="${v.id==nowSite.id}">
                    <option value="${site.id}" selected>${site.year}</option>
                </c:when>
                <c:otherwise>
                    <option value="${site.id}">${site.year}</option>
                </c:otherwise>
            </c:choose>
        </c:forEach>
    </select>
</td>

 

 

 

2.使用Tag文件

我这里的需求是这样:很多页面都需要加年度选项来查询数据,这些数据都来自于我的后台数据库中(这个需求用tld更合适一些,我就是想举个栗子不许喷我),前台展示的方式都是使用select来展示。

我先在common.jsp中加入我的jsp:tag

 

<!--显示控件tag-->
<%@ taglib prefix="layout" tagdir="/WEB-INF/tags/layout" %>

 在页面中使用我的jsp:tag

 

 

 

 

<layout:shudownsitelist selectId="shutdownSIteID" selectName="shutdownSIteID"/>

 

最后的效果:一个加载好数据的下拉选项框。

  1. 如果其他地方需要这个内容我只需要将上面代码再复制一行到其他页面中即可,
  2. 如果哪天因为需求的变化,页面的显示效果需要修改,我找到我的tag修改完毕后所有使用这个控件的地方都被修改了。

  • 大小: 14.3 KB
分享到:
评论

相关推荐

    JSP自定义标签 eclipse项目

    通过这个Eclipse项目,你将能够深入理解JSP自定义标签的工作原理,如何编写和使用它们,以及如何在项目中整合这些自定义标签。这不仅有助于提升你的JSP技能,还有助于理解服务器端动态网页的生成流程,为未来更复杂...

    Jsp自定义标签打包成Jar简单实例(含代码)

    本教程将详细介绍如何将JSP自定义标签打包成Jar文件,并将其导入到项目中。 首先,理解JSP自定义标签的概念是关键。自定义标签是JSP的一种扩展,它允许我们创建自己的标签,就像HTML标签一样,但它们执行的是Java...

    jsp页面自定义标签Tag

    在项目`zjut`中,我们可以创建一个简单的自定义标签,例如显示当前时间。首先编写`CurrentTimeTag.java`处理器类,然后在TLD文件中定义该标签,最后在JSP页面上使用。运行项目,自定义标签将在页面上显示实时时间。 ...

    jsp自定义标签报错的问题

    在使用JSP自定义标签时,开发者可能...遵循正确的项目配置和打包步骤,能够有效地避免这类问题,保证自定义标签在Web应用中的正常工作。在开发过程中,遇到问题时,不断尝试、分析错误日志并调整策略是解决问题的关键。

    jsp自定义分页标签

    本主题将深入探讨“jsp自定义分页标签”,这是一种在网页展示大量数据时非常实用的功能,它可以有效地帮助用户浏览和操作数据。 一、JSP自定义标签基础 JSP自定义标签是JSP技术的一部分,它允许开发者创建自己的...

    jsp 自定义标签的使用

    分页是网页应用中常见的需求,通过自定义标签可以方便地实现。以下是一个简单的分页标签实现思路: 1. **分页参数**:在自定义标签中接收总记录数、每页显示条数、当前页码等参数。 2. **计算页数**:根据总记录数...

    jsp自定义标签例子,能在Tomcat下直接运行

    在JSP自定义标签的例子中,我们可以看到这个压缩包文件可能包含了一个完整的示例项目,可以在Apache Tomcat这样的Servlet容器下直接运行。Apache Tomcat是一款开源的Servlet容器,广泛用于部署和运行Java Web应用...

    jsp 自定义标签实例

    在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的关键手段,它允许开发者创建可重用的组件,提高...在给定的实例中,我们可以看到一个简单的自定义标签的实现和使用过程,涵盖了JSP自定义标签的基本流程。

    JSP自定义标签学习笔记

    在实际应用中,标记体的处理可以更复杂,例如根据属性值对内容进行格式化、过滤或处理,然后将其插入到JSP页面。 六、标签中的子标记 子标记允许在一个自定义标签内部嵌套其他自定义标签,实现更复杂的逻辑。每个子...

    JSP自定义Table标签demo

    在"JSP自定义Table标签demo"中,我们可能期望看到以下功能: - **动态数据绑定**:自定义标签可以接受Java集合作为属性,比如`rows`,用于遍历数据并生成表格行。 - **属性定制**:可能有`border`、`width`、`class...

    jsp自定义嵌套标签

    ### jsp自定义嵌套标签:定义与使用详解 在JavaServer Pages(JSP)技术中,自定义标签是扩展其功能的一种强大手段。而自定义嵌套标签,则是在此基础上进一步提升灵活性和重用性的机制。本文将深入探讨自定义嵌套...

    JSP下 一个简单的自定义标签

    通过以上步骤,我们能够创建一个简单的自定义标签`&lt;myTags:defineTag&gt;`,并将其应用于JSP页面中。自定义标签使得JSP开发更加模块化,提高了代码的可读性和可维护性,降低了维护复杂性的不良影响。因此,掌握自定义...

    jsp自定义标签库实现数据列表显示

    在JavaServer Pages (JSP) 开发中,自定义标签库是提高代码可重用性和模块化的重要手段。本文将详细讲解如何利用JSP自定义标签库实现...理解这些文件的作用和相互关系,对于掌握JSP自定义标签库的开发和应用至关重要。

    jsp自定义标签编写的分页

    总结来说,通过学习和实践JSP自定义标签,我们可以构建高效、灵活的Web应用程序,比如这里的分页系统,它不仅简化了页面的开发,还增强了系统的扩展性和可维护性。在实际项目中,结合良好的设计原则和最佳实践,...

    Jsp自定义标签通用数据库查询

    在这个名为“Jsp自定义标签通用数据库查询”的项目中,我们探讨的关键知识点是如何利用自定义标签实现一个通用的数据库查询功能,使其能够适用于多种数据库系统。 首先,我们需要了解JSP自定义标签的工作原理。...

    JSP自定义标签(一)_树形下拉选择菜单

    开发者只需关注于标签的属性配置,即可轻松地在项目中集成复杂的功能模块。此外,通过将逻辑、样式和数据处理分离,这一方案遵循了MVC(Model-View-Controller)架构原则,使得整个系统更加健壮和灵活。

    JSP自定义标签:最近在项目中要用到这种技术,所以自己就写一个经典的HelloWorld实例

    JSP自定义标签是JavaServer Pages (JSP) 技术中的一种高级特性,它允许开发者创建可重用的自定义组件,以提高代码的可维护性和可读性。自定义标签可以看作是对HTML标签的扩展,它们提供了更加结构化和面向对象的方式...

    jsp自定义标签库注意事项

    【jsp自定义标签库注意事项】 在Java服务器页面(JSP)开发中,自定义标签库是一种强大的工具,它能够帮助开发者...在实际应用中,务必遵循最佳实践,保持代码的清晰和规范,以便团队成员之间的协作和代码的长期维护。

    JSP自定义标签实例与详细讲解

    本教程将深入探讨JSP自定义标签的实例与详细讲解。 一、JSP自定义标签概述 JSP自定义标签是类似于HTML标签的自定义组件,但它们提供了更强大的功能,可以封装Java代码,提供复杂的业务逻辑。自定义标签通过TLD(Tag...

    JSP自定义标签示例源码

    通过这个示例源码,初学者不仅可以学习到自定义标签的创建过程,还可以了解到如何在实际项目中应用它们。这个资源提供了详细的注释和教程,有助于快速上手,节省了在尝试和错误中摸索的时间。 总之,掌握JSP自定义...

Global site tag (gtag.js) - Google Analytics