tag标签记录

看到项目代码中有一个自定义的tag标签,想起以前自己写过的标签,竟然忘记的差不多了,手一痒,自己写个简单的tag标签,回顾一下历史知识

首先建一个servlet工程,然后写个index.jsp,项目跑起来,正常后,开始写标签

工程结构:

image

这估计算是最简单的工程结构了,什么东西都不要改,只加个commons.tld文件和处理这个标签的PageUtils.java类,而且简单的都不要在web.xml里加任何配置就可以运行,真是方便的很啊

直接看commons.tld文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib
  PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
  "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
    <tlib-version>2.0</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name>common</short-name>
    <uri>http://javass.cn/common/</uri>
    <display-name>Common Tag</display-name>
    <description>Common Tag library</description>

    <tag>
        <name>page</name>
        <tag-class>com.wxw.common.tld.PageUtils</tag-class>
        <attribute>
            <name>url</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
</taglib>

然后就是PageUtils.java文件

 

package com.wxw.common.tld;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class PageUtils extends TagSupport {

    /**
     *
     */
    private static final long serialVersionUID = 1L;
   
    private String url = null;

    @Override
    public int doStartTag() throws JspException {
        JspWriter out = pageContext.getOut();
        try {
            out.print("<a href='http://www.baidu.com'>"+url+"</a>");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return super.doStartTag();
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
   
   
}

 

代码简单的很,在jsp中调用的情况是:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib prefix="common" uri="http://javass.cn/common/" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
    this is index.jsp
    <form action="index.jsp" method="post">
        <input name="test1" type="text">
        <input name="test2" type="text">
        <input type="submit" value="提交">
    </form>
    <common:page url="我了个去"></common:page>
</body>
</html>

 

结果就是:

image

 

代码简单明了,仔细看就明白了,我也只是做个代码记录,省的以后到处找。如果想深入的化,这块还是有点难度的,如果想写个page标签,还是需要一定的前后台功底,这里如果以后用到了,就在后面加上,暂时项目里没用tag标签写代码的情况,以前项目里用过,那倒也都是简单的数据访问。

转载于:https://www.cnblogs.com/wxwall/p/3188872.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java类只读怎么办_如何在Java中制作一个只读类?

java类只读怎么办The question is that "can we make a read-only class in Java?" 问题是“我们可以用Java制作一个只读类吗&#xff1f;” The answer is: "Yes, we can make a read-only in java." 答案是&#xff1a; “是的&#xff0c;我们可以在J…

LeetCode 53:最大子序和解题以及优化思路(第一次独立刷题记录)

给定一个整数数组 nums &#xff0c;找到一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大&#xff0c;为 6。 进阶: 如果你已经实现…

NHibernate 的 ID 标识选择器

在 Hibernate 中&#xff0c;每个对象需要一个标识 ID&#xff0c;通过这个标识 ID 建立对象与数据库中记录的对应关系。 Nhibernate 提供了多种方式来建立这个 POID。基于不同的生成策略&#xff0c;可以选择更佳的方式。 首先是赋值方式&#xff1a;assigned&#xff0c;这种…

三、规则组织的衍生组织——经山形组织数学模型的建立

基础概念公式推到可参考该专栏下的前几篇博文。 经山形组织图&#xff1a; 左半部分&#xff1a;&#xff0c;3上2下1上2下&#xff0c;右斜&#xff0c;飞数为1 右半部分&#xff1a;&#xff0c;3上2下1上2下&#xff0c;左斜&#xff0c;飞数为-1 左右两部分只有飞数是相…

c语言 函数的参数传递示例_scalbln()函数以及C ++中的示例

c语言 函数的参数传递示例C scalbln()函数 (C scalbln() function) scalbln() function is a library function of cmath header. It scales the significand using floating-point base exponent (long int) i.e. it is used to calculate the product of the given signific…

上周热点回顾(7.8-7.14)

热点随笔&#xff1a; MingQQ v1.0高仿版开源了&#xff0c;使用WebQQ协议实现了QQ客户端基本的聊天功能...&#xff08;ZYM&#xff09; 我的新书&#xff0d;&#xff0d;《从员工到经理人》&#xff08;Jimmy Zhang&#xff09; MVC实用架构设计&#xff08;三&#xff0…

储存过程生成器

/Files/qanholas/SPGen_ReleaseCandidate1_Binaries.zip ---- Dropping stored procedure sp_费用表_SelectAll : --IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id OBJECT_ID(N[sp_费用表_SelectAll]) AND OBJECTPROPERTY(id, NIsProcedure) 1)DROP PROCEDURE [dbo].[sp…

基于计算机控制的温度检测系统,基于专用温度传感的温度检测系统.doc

基于专用温度传感的温度检测系统摘 要 在现代工业领域温度检测系统是指用某种方式显示出当前的环境温度。传统使用PTC或NTC电阻作为温度传感器的方式在使用过程中存在着很多不足之处比如所采集温度的精度比较低、系统的可靠性差、设计难度较大、整体设计成本较高等缺点已…

LeetCode 121:买卖股票的最佳时机 思考分析

题目描述&#xff1a; 给定一个数组&#xff0c;它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易&#xff08;即买入和卖出一支股票一次&#xff09;&#xff0c;设计一个算法来计算你所能获取的最大利润。 注意&#xff1a;你不能在买入股票前卖出…

四、规则组织的衍生组织——经向破斜组织数学模型的建立

基础概念公式推到可参考该专栏下的前几篇博文。 经向破斜组织图&#xff1a; 左半部分&#xff1a;&#xff0c;3上2下1上2下&#xff0c;右斜&#xff0c;飞数为1 右半部分&#xff1a;&#xff0c;2上1下2上3下。左斜&#xff0c;飞数为-1 左右两部分&#xff0c;经纬纱组织…

EASYUI+MVC4通用权限管理平台

通用权限案例平台在经过几年的实际项目使用&#xff0c;并取得了不错的用户好评。在平台开发完成后&#xff0c;特抽空总结一下平台知识&#xff0c;请各位在以后的时间里&#xff0c;关注博客的更新。 1.EASYUIMVC4通用权限管理平台--前言 2.通用权限管理平台--架构选型 3.通用…

int max+1小于0_INT_MAX常数,C ++中的示例

int max1小于0C INT_MAX宏常量 (C INT_MAX macro constant) INT_MAX constant is a macro constant which is defied in climits header, it is used to get the maximum value of a signed int object, it returns the maximum value that a signed int object can store, wh…

在计算机领域客观事物的属性表示为数据,数据与信息试题解析

一图看懂数据与信息1、在计算机领域&#xff0c;信息是经过转化而成为计算机能够处理的__________。A&#xff0e;数据B&#xff0e;符号C&#xff0e;图形D&#xff0e;数字答案&#xff1a;A。解析&#xff1a;本题考查有关信息基本概念的知识。信息是人们由客观事物得到的。…

Mysql Data 目录和 Binlog 目录 搬迁

Mysql5.1.38 Data 目录和 Binlog 目录 搬迁 [mysql-bin.index not found (Errcode: 2)]Leave a comment Go to comments刚开始安装时使用了默认目录&#xff0c;使用一段时间&#xff0c;数据慢慢变在&#xff0c;发现当前设置的目录空间不够时&#xff0c;就要搬迁数据到另一个…

【数据结构基础】【散列表】

散列表也叫做哈希表(hash table),这种数据结构提供了键(key)和值(value)的映射关系。只要给出一个key&#xff0c;就可以高效查找它匹配的value&#xff0c;时间复杂度接近O(1); 哈希函数 哈希函数通过某种方式&#xff0c;把key和数组下标进行转换。 在java中&#xff0c;每…

VisualStudio运行C++项目检测include<stdio.h>报错解决方案

一、项目—>属性 二、将SDL检查更改为否即可

事业单位计算机技术岗工资,事业单位新入职的人员在管理岗位和技术岗位工资待遇是否有区别?...

解答于&#xff1a; 2016-05-24 17:17工伤保险条例对工伤工资待遇有说明&#xff1a; 第三十一条职工因工作遭受事故伤害或者患职业病需要暂停工作接受工伤医疗的&#xff0c;在停工留薪期内&#xff0c;原工资福利待遇不变&#xff0c;由所在单位按月支付。  停工留薪期一般…

信息设计中的“父子关系”

交互设计工作核心在于信息架构和交互细节设计。信息架构包括信息分类以及信息展示逻辑设计&#xff1b;交互细节则多表现为控件的选择&#xff0c;交互效果的定义等。在信息设计中&#xff0c;遇到最棘手的问题就是信息量太多而显得设计结果不尽人意&#xff0c;那么在砍不掉需…

python 示例_带有示例的Python文件关闭属性

python 示例文件关闭属性 (File closed Property) closed Property is an inbuilt property of File object (IO object) in Python, it can be used to check whether a file object (i.e. a file) is closed or not, this is a read-only property and returns a Boolean val…

[Object-oriented] : 控制反转

前言 : 参加点部落的活动&#xff0c;关于IoC(控制反转)大家有很多的讨论。本文排除对象生成的部份&#xff0c;单纯解释IoC为甚么叫做控制反转。本篇文章以之前写的 [Object-oriented] : 重用内容来举例。 未IoC之前的对象图 : 很明显的左边的组件A&#xff0c;相依右边的组件…