`

自定义标签使用

jsp 
阅读更多

 

在jsp页面使用此自定义标签

 

1 创建自定义标签类

public class UserInfoTag extends TagSupport {

    private UserInfo user;

    @Override

    public int doStartTag() throws JspException {
	HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
	HttpServletResponse response = (HttpServletResponse)pageContext.getResponse();
	HttpSession session = request.getSession();

        try {
            JspWriter out = this.pageContext.getOut();
            if(user == null) {
                out.println("No UserInfo Found...");
                return SKIP_BODY;
            }
            out.println("<table width='500px' border='1' align='center'>");
            out.println("<tr>");
            out.println("<td width='20%'>Username:</td>");
            out.println("<td>" + user.getUserName() + "</td>");
            out.println("</tr>");
            out.println("<tr>");
            out.println("<td>Age:</td>");
            out.println("<td>" + user.getAge() + "</td>");
            out.println("</tr>");
            out.println("<tr>");
            out.println("<td>Email:</td>");
            out.println("<td>" + user.getEmail() + "</td>");
            out.println("</tr>");
            out.println("</table>");

        } catch(Exception e) {
            throw new JspException(e.getMessage());
        }
        return SKIP_BODY;
    }
 
    //getter and setters
    public UserInfo getUser() {
        return user;
    }
    public void setUser(UserInfo user) {
        this.user = user;
    }
}

 

2 在Web-Inf创建标签库描述文件.tdl(Tag Library Description)

 

 

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>cc</short-name>
<uri>/mytaglib</uri>
<tag>
    <!—指定标签类文件的全路径 -->
    <name>showUserInfo</name>
    <!—指定标签类文件的全路径 -->
    <tag-class>com.mytags.UserInfoTag</tag-class>
    <!--如果不需要标签体则设置empty,反之设定jsp -->
    <body-content>empty</body-content>
    <!—设定属性(如果有的话) -->
    <attribute>
         <!—指定标签名 -->
        <name>user</name>
         <!—是否是必须,如果非必须没设置则为空 -->
         <required>false</required>
         <!—是否可在属性中使用表达式 -->
         <rtexprvalue>true</rtexprvalue>

    </attribute>
 </tag>
</taglib>

 

 

 

3 配置web.xml

<jsp-config>
    <taglib>
        <taglib-uri>/mytaglib</taglib-uri>
        <taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
    </taglib>
</jsp-config>

 

 

 

4 页面中使用

 

<%@ taglib uri="/mytaglib" prefix="cc"%>
<%
    UserInfo user = new UserInfo();
    user.setUserName("Xuwei");
    user.setAge(33);
    user.setEmail("test@test.test");
    pageContext.setAttribute("userinfo", user);  
%>

<cc:showUserInfo user="${pageScope.userinfo }" />

 

 

 

 

分享到:
评论

相关推荐

    JSTL 开发自定义标签使用的jar

    3. **在JSP页面中使用自定义标签**:在JSP页面中,你可以通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,并用`&lt;mytag:tagname&gt;`的形式调用自定义标签。 4. **配置Web应用**:确保web.xml文件中配置了对JSTL的支持,包括...

    mybatis自定义标签.zip

    3. **编写XML标签**:接下来,我们可以在Mapper XML文件中使用自定义标签。假设我们要实现一个根据某个字段值决定是否包含某个子查询的功能,可以编写如下的自定义标签: ```xml SELECT * FROM users LEFT ...

    tp自定义标签

    下面将详细解释如何在ThinkPHP 3.0版本中实现自定义标签及其使用方法。 1. **自定义标签的作用** 自定义标签是ThinkPHP模板引擎的扩展,它可以将复杂的业务逻辑或重复的代码块封装起来,提高代码的可读性和复用性...

    jsp 自定义标签的使用

    3. **在JSP页面中使用**:在JSP页面中,通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,然后就可以像使用内置标签一样使用自定义标签了。 二、分页封装 分页是网页应用中常见的需求,通过自定义标签可以方便地实现。...

    html自定义标签的使用

    可以使用`document.querySelector`或`document.querySelectorAll`选择自定义标签,并通过`addEventListener`添加事件处理程序。 5. **语义化**:尽管可以自由创建自定义标签,但应避免过度使用,确保每个标签都有...

    jsp自定义标签大全.rar

    本资源“jsp自定义标签大全”包含了一系列示例和详细教程,涵盖了从基础到高级的自定义标签使用方法,对于想要深入了解和掌握JSP自定义标签的开发者来说是一份宝贵的参考资料。通过学习和实践这些示例,你可以更好地...

    struts2 自定义标签

    开发者可以根据需求,选择使用内置标签或自定义标签,甚至在同一个页面中混合使用,以达到最佳效果。 总之,Struts2自定义标签是提升项目开发效率和代码质量的有效手段。理解并熟练运用自定义标签,可以让开发者更...

    jsp 自定义标签实例

    3. **在JSP页面中使用自定义标签**:在JSP页面中,通过`&lt;jsp:taglib&gt;`指令引入TLD文件,然后就可以像使用内置标签一样使用自定义标签了。例如,`&lt;myTag:myTag attribute1="value1" attribute2="value2"&gt;`。 在给定...

    freemarker 自定义freeMarker标签

    3. 使用自定义标签:在模板文件中,你可以像使用内置标签一样使用你的自定义标签。例如,如果你注册了一个名为`myCustomTag`的自定义指令,你可以在模板中这样使用:`...

    java_自定义标签的使用.docx

    以下是对自定义标签使用及其相关概念的详细解释: 1. **标签处理程序**: 标签处理程序是Java对象,它负责处理自定义标签的逻辑。当JSP容器遇到自定义标签时,会根据标签库描述符(TLD)找到对应的标签处理程序...

    JSP自定义标签示例源码

    在`example.jsp`中,我们可以看到像`&lt;mytags:customTag attribute="value"&gt;`这样的自定义标签使用,其中`mytags`是标签库前缀,`customTag`是标签的本地名称,`attribute`是标签属性。 开发自定义标签时,可能会...

    Struts2自定义分页标签

    3. **配置Struts2**:在struts.xml配置文件中,定义Action和结果类型,确保返回的数据可以被自定义标签使用。 4. **编写自定义标签**:创建JSP标签库,实现分页的展示逻辑。标签需要解析Action返回的PageBean对象,...

    jsp2.0 自定义标签和自定标签函数

    本文将深入探讨JSP 2.0中的自定义标签和自定义标签函数,以及如何配置和使用它们。 **一、自定义标签** 自定义标签是JSP中的一种高级特性,它允许开发者创建类似于HTML标签的自定义组件。这种组件可以封装复杂的...

    spring自定义标签例子

    4. **使用自定义标签**:在完成以上步骤后,你就可以在Spring的XML配置文件中像使用标准标签一样使用你的自定义标签了。例如,你可以写入`&lt;my:custom-tag attr1="value1" attr2="value2"/&gt;`。 在"Chapter2"工程中,...

    struts实现自定义标签

    通过引入标签库的 URI,我们可以像使用内置标签一样使用自定义标签。例如: ```jsp ``` 五、自定义标签示例 假设我们有一个自定义标签 `yfk:mytag`,用于显示用户信息。我们可能有以下实现: - 创建 Java 类 `...

    自定义标签的内容及使用

    在使用自定义标签前,我们需要在JSP页面中通过`&lt;%@ taglib&gt;`指令引入标签库,指定URI和前缀。例如: ```jsp ``` 然后在页面中就可以使用定义好的自定义标签,如: ```jsp ``` 自定义标签有多种类型,包括...

    JAVAEE自定义标签的使用

    当你在JSP页面中使用自定义标签时,JSP容器会解析TLD文件,将自定义标签转换为Java代码执行。 创建自定义标签的步骤如下: 1. **定义TLD文件**:TLD文件是自定义标签的核心,它定义了标签的名称、属性、返回类型...

    java中自定义标签的使用方法

    本篇文章将深入讲解Java中自定义标签的使用方法,包括基本概念、创建过程以及实际应用。 首先,我们需要理解自定义标签与标准JSP标签的区别。标准JSP标签如`&lt;jsp:include&gt;`、`&lt;c:if&gt;`等是Java EE提供的一组预定义...

    自定义标签,标签实例,ppt

    本篇文章将深入探讨自定义标签的概念、工作原理以及如何创建和使用它们。 一、自定义标签概述 自定义标签可以看作是HTML标签的扩展,但它们提供了更丰富的功能和灵活性。通过自定义标签,开发者可以创建具有特定...

Global site tag (gtag.js) - Google Analytics