1.首先需要在web.xml中添加tld <?xml version="1.0" encoding="UTF-8"?> <tag> <tag> package com.alipay.gfs.web.jsptag; import java.util.List; public class OptionDictValue extends OptionsCollectionTag { // Acquire the select tag we are associated with if (selectTag == null) { DictDao dao = (DictDao)GlobalVar.wac.getBean("dictDao"); 4.使用标签
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/gfs.tld</taglib-uri>
<taglib-location>/WEB-INF/gfs.tld</taglib-location>
</taglib>
2.其次需要新建gfs.tld
<!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>hyt</shortname>
<uri>http://jakarta.apache.org/struts/tags-html</uri>
<name>optionDict</name>
<tagclass>com.alipay.gfs.web.jsptag.OptionDictValue</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>codeId</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subcodeId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subsubcodeId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<name>optionEaccount</name>
<tagclass>com.alipay.gfs.web.jsptag.OptionEaccountValue</tagclass>
<bodycontent>JSP</bodycontent>
</tag>
</taglib>
import javax.servlet.jsp.JspException;
import org.apache.struts.taglib.html.Constants;
import org.apache.struts.taglib.html.OptionsCollectionTag;
import org.apache.struts.taglib.html.SelectTag;
import org.apache.struts.util.RequestUtils;
import org.apache.struts.util.ResponseUtils;
import com.alipay.gfs.common.GlobalVar;
import com.alipay.gfs.dao.DictDao;
import com.alipay.gfs.domain.Dict;
protected String codeId = "";
protected String subcodeId = null;
protected String subsubcodeId = null;
public String getCodeId() {
return codeId;
}
public void setCodeId(String codeId) {
this.codeId = codeId;
}
public String getSubcodeId() {
return subcodeId;
}
public void setSubcodeId(String subcodeId) {
this.subcodeId = subcodeId;
}
public String getSubsubcodeId() {
return subsubcodeId;
}
public void setSubsubcodeId(String subsubcodeId) {
this.subsubcodeId = subsubcodeId;
}
public int doStartTag() throws JspException {
SelectTag selectTag = (SelectTag) pageContext
.getAttribute(Constants.SELECT_KEY);
JspException e = new JspException(messages
.getMessage("optionsCollectionTag.select"));
RequestUtils.saveException(pageContext, e);
throw e;
}
Dict dict = new Dict();
dict.setCodeId(codeId);
dict.setSubcodeId(subcodeId);
dict.setSubsubcodeId(subsubcodeId);
List lstCode = dao.getCodes(dict);
StringBuffer sb = new StringBuffer();
for(int i=0; i<lstCode.size();i++)
{
Dict dct = (Dict)lstCode.get(i);
addOption(sb, dct.getCodeName(), dct.getCodeValue(), selectTag
.isMatched(dct.getCodeValue()));
}
ResponseUtils.write(pageContext, sb.toString());
return SKIP_BODY;
}
}
<html:select property="revenueTypeTwo">
<html:option value="">请选择</html:option>
<gfs:optionDict codeId="102" subsubcodeId="notnull"></gfs:optionDict>
</html:select>
发表评论
-
Log4j(1)
2007-07-16 11:40 5851、 Log4j是什么? Log4j可以帮助调试(有时候 ... -
Ant
2007-07-16 11:42 566ant使用教程 Ant是什么? Ant是一种基 ... -
Log4j(2)
2007-07-16 17:07 604Log4j由三个重要的组件 ... -
java基础
2007-07-18 16:50 677第一,谈谈final, finally, finalize的区 ... -
spring hibernate struts异常解决办法
2007-07-20 09:56 5601。Caused by: java.lang.NoClassD ... -
eclipse3.2.0+myeclipse5.5.1开发struts1.2+spring2.0+hibernate3.1
2007-07-20 13:37 6661.首先新建一个Web工程2.添加Struts框架1.2版本3 ... -
Java.io包
2007-08-14 10:23 5951.1 以字节为导向的stream 以字节为导向的str ... -
struts中javascript验证登陆
2007-08-21 10:57 556<script type="text/java ... -
Validator验证框架使用教程
2007-08-21 16:05 591Terry原创,转载请 ... -
Struts:与Tiles框架的第一次亲密接触
2007-08-22 10:37 9061.在你的struts配置文件struts-config.x ... -
用过滤器filter解决乱码
2007-09-25 10:36 828当在做程序的是你也许会遇到一些很让你恼火的乱码问题 ... -
简单工厂模式与工厂方法模式的比较
2008-03-31 09:20 585在OO设计领域,我们知 ... -
简单工厂模式,工厂方法模式和抽象工厂模式的区别
2008-04-01 11:37 569我记得看的阎宏发表在天极网上的文章上举的例子挺好的,他以一个后 ... -
JAVA中获取年月日
2008-04-22 14:48 3348Java 语言提供了许多处理日期的工具。其中一些工具在其他语言 ... -
jsp内置對象
2008-04-27 23:00 569一般来说,我们在使用Struts时,如果要在JSP隐式的传 ... -
spring+javamail
2008-10-08 19:02 6321.首先必须要有spring.jar, mail.jar, c ... -
Spring对IBatis的支持
2008-10-09 15:06 624Spring对IBatis提供了完善的内建支持。使用Sprin ... -
spring+ibatis实例
2008-10-09 16:18 2725首先需要以下这些jar包:commons-dbcp.jar, ... -
jboss虚拟镜像自动部署
2008-12-25 11:04 7391.修改C:\jboss-4.0.5.GA\server\de ... -
Spring配置初始化ApplicationContext
2008-12-30 11:36 5861. 在struts-config.xml里,以插件的形式 ...
相关推荐
在 Struts 中,我们可以通过实现 `org.apache.struts.taglib.Tag` 接口来创建自定义标签。 二、创建自定义标签库 1. 创建 Tag 类:首先,我们需要创建一个 Java 类,该类继承自 `org.apache.struts.taglib.Tag` 或...
在Struts2中,自定义标签是提高代码可读性和可维护性的重要工具。本文将深入探讨Struts2自定义标签的实现机制、优点以及如何在实际项目中进行应用。 一、Struts2自定义标签的概念 自定义标签是JSP的一种扩展,允许...
自定义标签是Struts2框架中的一个重要特性,它允许开发者创建自己的标签库,以更直观、易读的方式在JSP页面中处理业务逻辑。下面将详细介绍Struts2自定义标签的相关知识点。 首先,理解自定义标签的作用。在传统的...
在Struts2框架中,自定义标签是扩展和优化应用功能的重要手段,它允许开发者创建符合业务逻辑且可重用的视图组件。本实例将深入探讨如何在Struts2中实现自定义标签,以及其背后的原理和步骤。 首先,自定义标签在...
自定义标签,直接代码,直接模仿开发即可 public class ButtonTag extends AttributeTag { //tld中定义的属性 public String label; public String url; public String click; public String confirm; public ...
在Struts2中,自定义标签的实现是提升可重用性和简化视图层代码的一个重要特性。下面我们将深入探讨如何在Struts2中实现自定义标签,以及其背后的原理。 自定义标签的创建主要涉及以下三个步骤: 1. **创建taglib...
自定义标签是Struts2的一个重要特性,允许开发者扩展框架的功能,提供更友好的界面元素。在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与...
本教程将深入探讨Struts自定义标签的使用,以及它们如何帮助我们构建更加模块化和可维护的Web应用。 首先,让我们了解什么是Struts自定义标签。在JSP中,我们可以使用内建标签,如`<jsp:include>`、`<c:forEach>`等...
Struts自定义标签是Java Web开发中的一种常见技术,它扩展了标准的JSP标签库,使得开发者可以创建更符合业务逻辑、可复用且易维护的页面代码。在Struts框架中,自定义标签是实现MVC设计模式的重要组成部分,它们提供...
本篇文章将详细探讨如何在Struts自定义标签的Java类中获取`HttpSession`对象,并对其应用场景进行深入分析。 ### 一、Struts自定义标签简介 #### 1.1 Struts自定义标签的作用 在Web应用开发中,经常需要在JSP页面...
在Struts2中,自定义标签是开发者扩展框架功能和简化视图层编码的重要手段。自定义标签允许将复杂的逻辑封装到可重用的组件中,提高代码的可读性和可维护性。 在Struts2中创建自定义标签,通常涉及以下几个步骤: ...
然而,有时候我们可能需要根据项目需求定制特定的功能,比如这里的"自定义标签代替Struts标签实现分页"。下面将详细阐述这个主题。 一、自定义标签的原理 自定义标签是JavaServer Pages (JSP) 技术的一个强大特性,...
下面将详细探讨如何在Struts2中创建和使用自定义标签。 首先,自定义标签是JSP标准标签库(JSTL)的扩展,允许我们定义自己的标签来简化页面编码。在Struts2中,自定义标签通常通过Action类和结果视图来与后台业务...
在Struts2中,自定义标签的实现通常包括以下步骤: 1. **定义TLD(Tag Library Descriptor)文件**: TLD文件是XML格式的,用于描述自定义标签的属性、行为以及它们之间的关系。在这个例子中,我们为分页标签添加...
在IT领域,自定义标签是Java Web开发中的一个重要概念,特别是在使用JSP和Struts2框架时。自定义标签能够帮助我们创建可重用、可维护的代码,提高开发效率,使得视图层的逻辑更加清晰。本教程资料集主要探讨了如何...
自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282
在Struts2中,自定义标签是扩展其功能和实现个性化界面的重要手段。通过自定义标签,开发者可以构建更加符合业务需求的视图层,提高代码的可读性和可维护性。本文将深入探讨如何在Struts2中自定义标签,并利用栈顶...
1. **创建自定义标签库**:首先,我们需要定义一个TLD(Tag Library Descriptor)文件,例如`struts-tags.tld`,在这个文件中声明我们的分页标签。TLD文件定义了标签的名字、属性以及对应的Java类。 2. **编写Java...