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.pswp.cn/news/378136.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378136.shtml
英文地址,請注明出處:http://en.pswp.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;相依右邊的組件…