java类:
package com.Aaron.test;
import java.util.Properties;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
public class MessageTag extends TagSupport {
private String key;
public MessageTag(){
}
@Override
public int doEndTag() throws JspException {
try {
Properties ps = (Properties)pageContext.getAttribute("ps",pageContext.APPLICATION_SCOPE);
Properties ps_zh = (Properties)pageContext.getAttribute("ps_zh",pageContext.APPLICATION_SCOPE);
HttpSession session = pageContext.getSession();
String language = (String)session.getAttribute("language");
String message = null;
if(language != null && language.equals("Chinese")){
message = ps_zh.getProperty(key);
}else{
message = ps.getProperty(key);
}
pageContext.getOut().print(message);
} catch (Exception e) {
throw new JspTagException(e.getMessage());
}
return SKIP_BODY;
}
@Override
public void release() {
super.release();
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
}
**************************************************
tld标签:
<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE taglib PUBLIC "-//Sun Microsystems,Inc.//DTD JSP Tag Library
1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
"> -->
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>mytaglib</shortname>
<uri>/mytaglib</uri>
<tag>
<name> message</name>
<tagclass>com.Aaron.test.MessageTag </tagclass>
<bodycontent>empty </bodycontent>
<info>produce message by key</info>
<attribute>
<name>key</name>
<required>true</required>
</attribute>
</tag>
</taglib>
******************************************************
web.xml:
<taglib>
<taglib-uri>/mytaglib</taglib-uri>
<taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
</taglib>
***************************************************
jsp 页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="ISO-8859-1" %>
<
%@taglib
uri="/mytaglib" prefix="msg" %>
<!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><msg:message key="hello.hello"/></
title>
</head>
<body>
<%
String language = request.getParameter("language");
language = language == null ? "English" : language;
session.setAttribute("language",language);
%>
<msg:message key="login.user"/>:<input type="text"/>
<br>
<msg:message key="login.password"/>:<input type="password"/>
<br>
<msg:message key="login.submit"/>:<input type="submit"/>
</body>
</html>
分享到:
相关推荐
本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现主要依赖于两个核心概念:Tag接口和TagSupport类。`Tag`接口定义了自定义标签必须实现的方法,如`doStartTag()`和`doEndTag()`,它们...
【jsp自定义标签库注意事项】 在Java服务器页面(JSP)开发中,自定义标签库是一种强大的工具,它能够帮助开发者创建可重用的代码片段,提高代码的可读性和可维护性。以下是对JSP自定义标签库的详细解释和使用注意...
本教程将深入讲解JSP自定义标签库的学习,包括其原理、配置以及如何创建和使用自定义标签。 **一、JSP自定义标签库的概念** JSP自定义标签库是一组预定义的标签,它们扩展了HTML或XML,提供了一种更加结构化和面向...
本教程将深入探讨JSP自定义标签的使用,同时结合实例介绍分页和下拉框绑定值的封装。 一、JSP自定义标签基础 1. **定义标签库(Tag Library)**:自定义标签首先需要定义一个TLD(Tag Library Descriptor)文件,它...
### jsp自定义标签库知识点详解 #### 一、什么是jsp自定义标签? 1. **概念**:JSP 自定义标签是一种将复杂的功能封装成一个简单的标签的方式,它允许开发者创建可重用的代码组件,这些组件可以在 JSP 页面中像...
创建JSP自定义标签通常包括以下几个步骤: 1. **定义标签库描述符(TLD)** TLD(Tag Library Descriptor)文件是XML格式的,用于定义标签库的元数据,包括标签的名称、属性、返回类型等。TLD文件一般以`.tld`为后缀...
本文将深入讲解JSP自定义标签的相关概念、格式、处理过程以及创建和使用自定义标签库的基本步骤。 1. 基本概念: - **标签**:JSP标签是XML元素,用于简化JSP页面,使其更易读且支持多语言版本。标签名和属性区分...
本资料"掌握jsp自定义标签chm版"全面讲解了这一核心概念,旨在帮助开发者深入理解和熟练应用JSP自定义标签。 1. **自定义标签概述** JSP自定义标签是扩展JSP功能的一种方式,允许开发者创建自己的标签库,类似于...
本资源“jsp自定义标签大全.rar”提供了一套全面的JSP自定义标签的实例和指南,旨在帮助开发者深入理解和应用这一特性。 **JSP自定义标签的基本概念** JSP自定义标签不同于标准动作标签(如<jsp:include>或<jsp:...
在使用JSP自定义标签时,开发者可能会遇到一些报错问题,这通常涉及到项目结构、类路径设置或自定义标签的编译与打包方式。在本文中,我们将深入探讨这些问题,以及如何解决“JspException”这个特定异常。 首先,...
本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过自定义标签来优雅地处理日期格式化和展示。 首先,我们要理解JSP自定义标签的基本概念。自定义标签是JSP的一种扩展,它不是Java内置的标签,而是由开发者...
"jsp自定义标签所需jar包"主要指的是在Java Web开发中,为了创建和使用自定义JSP标签,我们需要包含特定的库,如"javax.servlet.jsp-api-2.2.1-sources.jar",它提供了Servlet和JSP API的源代码。理解并配置这些依赖...
2. **定义TLD(Tag Library Descriptor)文件**:TLD文件是JSP自定义标签库的元数据,它定义了标签的名称、属性、行为等。TLD通常放在WEB-INF目录下的tags子目录下,并以`.tld`为扩展名。在TLD文件中,你需要声明你...
总结起来,"JSP自定义Table标签demo"是一个教育性的示例,它演示了如何利用JSP自定义标签的灵活性和强大功能,来创建复杂且可复用的组件,如动态表格。通过学习和理解这个demo,开发者可以提升自己的JSP开发能力,...
在这个场景中,"使用JSP自定义标签实现EMP分页"是一个具体的应用实例,旨在提升代码的可读性和可维护性,对比传统的Servlet方法,自定义标签能让分页处理更加简洁。 首先,我们要了解JSP自定义标签的基本结构和工作...
下面将详细阐述JSP自定义标签的组成部分以及实现过程。 首先,**标签体**是自定义标签的主体部分,位于自定义标签的起始和结束标签之间,它可以包含静态内容或者其他的JSP元素,这些内容会在标签处理程序执行时被...
实现JSP自定义标签主要涉及以下几个步骤: 1. **定义标签库(Tag Library)**:一个标签库是一组相关的自定义标签,它们被定义在TLD(Tag Library Descriptor)文件中。TLD文件描述了标签的功能、属性、返回类型等...
通过以上讲解,我们可以了解到JSP自定义标签的基本原理和使用方式,以及如何创建和管理自定义标签库。这有助于开发者将复杂的功能模块化,提高代码的复用性和可维护性,同时降低了JSP页面的复杂度。在实际开发中,...
**JSP自定义标签**是JavaServer Pages (JSP)技术的一个强大特性,它允许开发者扩展JSP标准标签库的功能,创建自己的定制标签库。在JSP中,自定义标签通常用于封装复杂的业务逻辑或者视图展示,以提高代码的可读性...