手机
当前位置:查字典教程网 >编程开发 >Java >Struts2 自定义下拉框Tag标签
Struts2 自定义下拉框Tag标签
摘要:自定义标签主要包括三个步骤:1、编写java类,继承TagSupport类;2、创建tld文件,影射标签名和标签的java类;3、jsp页面...

自定义标签主要包括三个步骤:

1、编写java类,继承TagSupport类;

2、创建tld文件,影射标签名和标签的java类;

3、jsp页面引入tld。

例子:自定义下拉框标签

如果页面上有下拉选择框,通常最好的解决方法是使用数据字典,因为有可能多个页面

使用同一个下拉框,便于后台统一维护。

自定义Tag类

import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class DictionaryOptionTaget extends TagSupport { private static final long serialVersionUID = 1L; private String index; // 字段索引 ,页面上通过标签属性传回来的值 @SuppressWarnings("unchecked") @Override public int doEndTag() throws JspException { JspWriter jspw = this.pageContext.getOut(); StringBuffer options = new StringBuffer(); /** * 需要查询数据库 字段索引为SEX的option内容,这里是写死 */ if ("SEX".equals(index)) { options.append("<option value=''>-请选择-</option>"); options.append("<option value='1'>男</option>"); options.append("<option value='0'>女</option>"); } try { jspw.println(options); //输出 } catch (IOException e) { e.printStackTrace(); } return 0; } @Override public int doStartTag() throws JspException { return 0; } public String getIndex() { return index; } public void setIndex(String index) { this.index = index; } }

定义tld

<"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>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>tagSample</short-name> <uri>/hellotag</uri> <tag><> <name>OptionDictionary</name> <tag-class> com.itmyhome.DictionaryOptionTaget </tag-class> <body-content>empty</body-content> <attribute> <name>index</name><> <required>true</required><> <rtexprvalue>false</rtexprvalue><> </attribute> </tag> </taglib>

需要注意的是:<rtexprvalue>true</rtexprvalue> 时候,可以使用JSP表达式

表示该自定义标签的属性值可以使用 ${} 方式动态传值。

使用自定义的标签

<%@ taglib uri="/WEB-TAG/platForm.tld" prefix="PF"%> <select> <PF:OptionDictionary index="SEX"/> </select>

页面输出:

Struts2 自定义下拉框Tag标签1

struts2标签-下拉列表的两种写法

第一种写法

<s:set name="selList" value="# {'1':'质量','2':'成本','3':'进度'}"></s:set> <s:select list="#selList" listKey="key" listValue="value" name="columnName" headerKey="0" headerValue="--请选择--"></s:select>

第二种写法:

<s:select name="columnName" list="{'质量','成本','进度'}" headerKey="-1" headerValue="--请选择--" emptyOption=" true" multiple="false"/>

【Struts2 自定义下拉框Tag标签】相关文章:

Java线程中sleep和wait的区别详细介绍

java中的转义字符介绍

基于Java注解(Annotation)的自定义注解入门介绍

Java中 shuffle 算法的使用

Java 自定义错误类示例代码

在Struts2中的结果集类型

深入Java分布式计算的使用分析

Java自定义简单标签实例

Java命名规则详细总结

关于Struts2文件上传与自定义拦截器

精品推荐
分类导航