有时候jsp和struts的标签不能提供我们想要的要求,那么自定义标签(jsp函数)就会给我们带来很大的方便,而且看起来很清晰,废话少说,首先看看这个自定义标签的定义
1、自定义标签test.xml
<?xml version="1.0" encoding="UTF-8" ?>
<taglib 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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>TEST 1.0 library</description>
<display-name>TESTTag</display-name>
<tlib-version>1.0</tlib-version>
<short-name>test</short-name>
<uri></uri>
<!-- 标签 -->
<tag>
<name>listValueName</name>
<tag-class>com.test.frame.tags.ListValueTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>type</name>
<required>true</required>
</attribute>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue><!-- 设置是否支持EL表达式 -->
</attribute>
</tag>
<!-- 函数 -->
<function>
<name>getParmMapValue</name>
<function-class>com.test.frame.tags.Functions</function-class>
<function-signature> java.lang.String getParmMapValue(java.lang.String)</function-signature>
</function>
</taglib>
上面就是自定义标签test.xml的定义内容,标签中这个<attribute>表示传递的参数,上面表示传递了2个参数。函数中<function-signature>表示函数签名,和java的方法定义写法很像。
2、标签的具体实现java类
package com.test.frame.tags;
/**
* 自定义标签
*/
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class ListValueTag extends SimpleTagSupport {
private String type;
private String value;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@SuppressWarnings("unchecked")
public void doTag() throws JspException, IOException{
String name = "";
if(type != null && value != null)
{
//这里就是你需要通过你传递的参数得到你想要值
name = type + " is " + value;
}
JspWriter out = this.getJspContext().getOut();
out.print(name);
}
}
3、函数的具体实现java类
package com.test.frame.tags;
public class Functions {
/**
* 返回参数映射值
* @param paramName 参数名
* @param parms 参数
* @return
*/
public static String getParmMapValue(String parmName){
String result = "";
if(parmName != null){
result = parmName + " is Over";
}
return result;
}
}
4、标签和函数在jsp中的用法
首先引入这个标签:
<%@ taglib uri="/WEB-INF/mln.tld" prefix="test"%>
标签和函数的调用方法
测试:<test:listValueName type="MayTag" value="Over"/>
测试:<input type="text" id="test" name="test" value="${mln:getParmMapValue('MayFunction')}" >
上面测试的结果:
测试:MayTag is Over
测试:MayFunction is Over(在输入框中)
5、以上就是标签和函数的用法和实现,如果你发现错误或知道更好的方法请指教!!
分享到:
相关推荐
在Java Server Pages (JSP) 2.0版本中,自定义标签和自定义标签函数极大地扩展了JSP开发的灵活性和可重用性。这些特性允许开发者创建可复用的组件,使代码更加清晰,易于维护。本文将深入探讨JSP 2.0中的自定义标签...
本教程将深入探讨JSP自定义标签的使用,同时结合实例介绍分页和下拉框绑定值的封装。 一、JSP自定义标签基础 1. **定义标签库(Tag Library)**:自定义标签首先需要定义一个TLD(Tag Library Descriptor)文件,它...
以下是对JSP自定义标签库的详细解释和使用注意事项: 1. **自定义标签开发步骤** - **编写JAVA类**:你需要创建一个Java类来实现特定的接口,如`javax.servlet.jsp.tagext.TagSupport`或`javax.servlet.jsp.tagext...
总结来说,自定义标签和函数是Java Web开发中增强JSP功能的重要工具。通过自定义标签,我们可以创建封装复杂逻辑的可重用组件;自定义函数则允许我们在EL表达式中方便地执行特定操作。了解和掌握这些技术,能极大地...
在JavaServer Pages (JSP) 技术...了解并掌握以上知识,可以帮助开发者有效地利用JSP自定义标签,提高开发效率和代码质量。在实际开发中,可以根据需求创建自定义标签库,实现特定的功能,使JSP页面更加灵活和易维护。
创建JSP页面,按照上述方式使用自定义标签和JSTL函数,运行项目并验证功能是否正常。 通过以上步骤,你就可以在实际项目中实现并使用自定义标签和自定义JSTL函数了。这不仅能够简化代码,提高代码质量,还能使团队...
本资料包“JSP标签、自定义标签,含有属性”专注于讲解JSP中的两种主要标签类型:标准动作标签(JSP Standard Tags, JSTL)和自定义标签。 1. **JSP标准动作标签**: JSTL是一组符合JSR-52标准的标签库,包括核心...
**JSP自定义标签**是JavaServer Pages (JSP)技术的一个强大特性,它允许开发者创建可重用的自定义组件,以增强JSP页面的功能和可读性。以下是关于JSP自定义标签的详细解释和创建过程: **一、基本概念** 1. **标签...
JSP自定义标签 自定义标签允许开发者创建自己的标签库,这些标签可以扩展JSP的功能,提供特定的业务逻辑。创建自定义标签涉及以下几个关键步骤: - **定义标签处理类**:这个类实现了`javax.servlet.jsp.tagext....
3. **在JSP页面中使用自定义标签**:在JSP页面中,你可以通过`<%@ taglib %>`指令引入自定义标签库,并用`<mytag:tagname>`的形式调用自定义标签。 4. **配置Web应用**:确保web.xml文件中配置了对JSTL的支持,包括...
### jsp自定义标签知识点详解 #### 一、自定义标签概述 在JavaServer Pages (JSP) 技术中,自定义标签是一种强大的功能,它允许开发者创建可重用的代码片段,并以类似HTML标签的方式在JSP页面中使用。这种机制极大...
下面我们将详细探讨JSP自定义标签和方法的实现与应用。 1. **标签处理类** 创建自定义标签时,首先需要一个标签处理类。这个类可以直接实现`javax.servlet.jsp.tagext.Tag`接口,但通常我们会选择继承`javax....
- **TLD (Tag Library Descriptor)**: TLD文件是自定义标签库的元数据,它描述了标签库中的每个标签、属性、变量和函数。TLD通常以`.tld`为扩展名,并且必须放在WEB-INF目录下。 - **标签处理类 (Tag Handler ...
它提供的各种标签和函数库,使得开发者能够更高效地处理页面逻辑,专注于页面的呈现效果,从而提升了整体的开发效率和项目质量。在学习和使用JSTL时,应深入理解每个标签的功能和使用场景,以便在实际项目中灵活应用...
总的来说,理解并熟练运用FCK在线编译器的JSP自定义函数和Proxool连接池配置,能够帮助开发者构建出更加高效、灵活的Web应用,同时优化数据库操作性能,提升用户体验。在实际开发过程中,结合文档学习和实践,可以更...
这个过程涉及到了JSP自定义标签的各个核心概念,包括TLD、标签处理类和标签文件。了解并掌握自定义标签的创建和使用,能显著提升Java Web开发的效率和代码质量。在实际开发中,自定义标签可以用于构建复杂的数据展示...
在Java Web中,自定义标签通常是通过JSP标签库(JSP Tag Library)实现的,这是一组预定义的函数或行为,可以被JSP页面调用。自定义标签的定义通常包括一个标签处理类(Tag Handler Class)和一个描述文件(TLD, Tag...
在“源码”和“工具”的标签中,可能涉及到如何查看和分析`FunctionMapper`的源代码,以及如何在不同的开发工具中使用和调试自定义EL函数。这可能包括IDE的设置,如Eclipse或IntelliJ IDEA中的配置,以及如何通过...
自定义标签可以看作是JSP中的用户定义函数,它们可以封装复杂的逻辑或者视图呈现,从而简化页面结构。下面将深入探讨自定义标签的相关知识点。 **一、自定义标签的优势** 1. **可复用性**:自定义标签可以封装常用...