jsp自定义标签显示bean信息

简介: 第一步:写标签处理器  public class Mytag extends TagSupportpublic class Mytag extends TagSupport { private UserIn...

第一步:写标签处理器  public class Mytag extends TagSupport

public class Mytag extends TagSupport {  
    private UserInfo user;  
    @Override  
    public int doStartTag() throws JspException {  
        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;  
  
    }  
  
    @Override  
  
    public int doEndTag() throws JspException {  
  
        return EVAL_PAGE;  
  
    }  
  
    @Override  
  
    public void release() {  
  
        super.release();  
  
        this.user = null;  
  
    }  
  
    //getter and setters  
  
    public UserInfo getUser() {  
  
        return user;  
  
    }  
  
    public void setUser(UserInfo user) {  
  
        this.user = user;  
  
    }  
  
} 
实体类:UserInfo
public class UserInfo {

	private String userName;

	private int age;

	private String email;
第二步:web-Inf下创建myTag.tld文件

<?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>myTag.cn.itcast.test.Mytag</tag-class>

		<body-content>empty</body-content>

		<attribute>

			<name>user</name>

			<required>false</required>

			<rtexprvalue>true</rtexprvalue>

		</attribute>

	</tag>

</taglib> 
第三步:显示页面 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>自定义标签</title>
</head>
<body>
	<!-- 给标签设置user属性绑定要展现的UserInfo对象  -->

	<cc:showUserInfo user="${pageScope.userinfo }" />
</body>
</html>
第四步:在显示页面中引入自定义标签,导入初始化实体类信息

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/mytaglib" prefix="cc"%>
<%@ page import="myTag.cn.itcast.test.*"%>
<%
	UserInfo user = new UserInfo();

	user.setUserName("Xuwei");

	user.setAge(33);

	user.setEmail("test@test.test");

	pageContext.setAttribute("userinfo", user);
%>
第五步:在web.xml下配置自定义标签tld文件

<jsp-config>

	<taglib>

	<taglib-uri>/mytaglib</taglib-uri>

		<taglib-location>/WEB-INF/myTag.tld</taglib-location>

	</taglib>

</jsp-config>






目录
相关文章
|
4月前
|
Java 数据安全/隐私保护
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
该博客文章通过JavaBean组件和JSP动作元素`<jsp:forward>`与`<jsp:param>`的使用示例,演示了用户登录流程,包括登录信息的提交、验证以及根据验证结果进行的页面跳转。
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
|
Java
JSP自定义标签【下】
JSP自定义标签【下】
66 0
|
4月前
|
存储 Java
JSP中实现留言页面的编写并将留言信息展示出来
这篇文章介绍了如何在JSP中编写留言页面,并通过JavaBean类存储用户留言信息,同时展示了留言信息的展示方法。
JSP中实现留言页面的编写并将留言信息展示出来
|
4月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
4月前
|
Java
编写一个jsp页面,利用Scriptlet编写一段计算代码,要求用零作为除数,并使用page指令将错误信息显示在另外一个jsp页面,产生的错误信息为“错误,不能用0做除数”
该文章展示了如何创建一个JSP页面,使用Scriptlet编写包含除零操作的计算代码,并配置page指令将错误信息重定向至另一个JSP页面进行显示。
编写一个jsp页面,利用Scriptlet编写一段计算代码,要求用零作为除数,并使用page指令将错误信息显示在另外一个jsp页面,产生的错误信息为“错误,不能用0做除数”
|
4月前
|
Java
jsp和java的结合使用显示学生信息
通过JavaBean封装学生信息,并利用JSP展示。`Student`类定义了学生属性与操作方法。JSP页面通过脚本创建学生对象、填充数据至列表,并遍历输出。实现了学生基本信息的动态展示。
|
6月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 3
JSP自定义标签允许开发人员创建可重用的组件,简化页面逻辑。在JSP 2.0及以上版本,可通过继承`SimpleTagSupport`并覆写`doTag()`方法来创建自定义标签,如`HelloTag`,它有一个`message`属性。属性值通过setter方法`setMessage()`设置。在TLD文件中定义该属性后,可在JSP页面使用`&lt;ex:Hello message=&quot;This is custom tag&quot;/&gt;`来调用,输出定制的文本。
29 0
|
6月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 4
**JSP自定义标签允许创建用户定义的语言元素。它们转换为Servlet中的tag handler,在执行时由Web容器调用。使用SimpleTagSupport继承并重写doTag()方法可创建简单标签。标签可设置属性,如message,通过setter方法访问。TLD文件定义属性元数据,JSP页面则通过prefix和uri引用。例如,&lt;ex:Hello message=&quot;...&quot;/&gt; 显示定制消息。属性可配置为必需、类型、描述及是否为JspFragment。**
30 0
|
6月前
|
搜索推荐 Java 容器
JSP 教程 之 JSP 自定义标签 2
**JSP自定义标签允许用户创建个性化标签,简化页面逻辑。在JSP 2.0中,通过继承`SimpleTagSupport`并重写`doTag()`可创建简单标签处理器。示例展示了一个名为`Hello`的自定义标签,它接收并显示标签体内容。TLD文件配置了标签元数据,JSP页面引用该标签并展示“这是消息主体”。**
26 0
|
6月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 1
**JSP自定义标签简介**:扩展JSP功能,创建用户定义标签,通过Servlet容器调用Tag Handler。在JSP 2.0中,使用SimpleTagHandlers简化定制。以&quot;Hello&quot;标签为例,创建`HelloTag`类继承`SimpleTagSupport`,重写`doTag()`打印消息。编译后,在`custom.tld`定义标签库,JSP页面引用后即可使用。例如 `&lt;ex:Hello/&gt;` 显示 &quot;Hello Custom Tag!&quot;。
31 0