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

  • 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")@Overridepublic 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;}@Overridepublic int doStartTag() throws JspException {return 0;}public String getIndex() {return index;}public void setIndex(String index) {this.index = index;}}

定义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>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>tagSample</short-name> <uri>/hellotag</uri> <tag><!-- 从数据字典检出一个option列表 --> <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>

页面输出:

源代码:download

作者:itmyhome

Struts2 自己定义下拉框标签Tag相关推荐

  1. struts html:select 默认选中,Struts2自动选择下拉框的值

    在Struts2中,HTML下拉框可以通过标签呈现.要自动选择一个下拉框的默认值,只是声明值"属性标记,并设置相应的默认值. 这里创建一个Web工程:strut2autoselectdrop ...

  2. 单元格只能下拉框选_数据有效性定义下拉框只能选择一个如何实现选择多个选项...

    相信表亲们很多人用过数据有效性,通过数据有效性定义序列,在下拉框中选择想要的选项,然而,数据有效性定义通过下拉框只能选择一个选项,如果要选择多个选项,怎么办呢?我们看看下面的动画: 看这个动画是不是感 ...

  3. html select滚动条样式修改,如何定义Select下拉框的边框颜色和滚动条样式

    如何定义Select下拉框的边框颜色和滚动条样式 (2012-11-07 15:00:25) 标签: 定义select下拉框 select定义css不显示 杂谈 如何定义Select下拉框的边框颜色和 ...

  4. 如何定义Select下拉框的边框颜色和滚动条样式

    下面是从网上搜的,记录一下.... 方法一:只定义下拉框边框样式. <span style="position:absolute;border:1px solid #000000;wi ...

  5. EasyExcel在项目中的应用-在web中导出带下拉框和批注的excel文件

    前言 ​ 好长一段时间没有更新博客了,最近刚刚找到实习工作,接触了企业中的项目,在这段时间的实习过程中,终于知道了企业级项目的体量和业务难度跟之前的小项目是完全不同的.10多天的适应期也逐渐让我找到了 ...

  6. php可输入的下拉框,JavaScript_可编辑下拉框的2种实现方式,可编辑下拉框-HTML 复制代码 代 - phpStudy...

    可编辑下拉框的2种实现方式 可编辑下拉框-HTML A类 B类 C类 D类 可编辑下拉框-JS 可编辑下拉框 可编辑下拉框 作者 function combox(obj,select){ this.o ...

  7. vue省市区 下拉框实现

    vue省市区 下拉框实现 1.效果如图 选中省之后,再选择对应的市,再选择对应的区 数据源js文件: 码云:https://gitee.com/wyjpositive/mybatis-plus-dem ...

  8. layui下拉框联动

    定义下拉框: <div class="layui-input-inline layui-form" lay-filter="prov"><se ...

  9. antd vue 多个下拉 联动_antd中select下拉框值为对象选中的问题

    使用antd中的select下拉框,遇到个小问题,后台管理系统中,使用下拉框,一般不会是简单的就直接使用select中的value值,而是会使用id或者value中文对应的keyword,并且这个在o ...

最新文章

  1. 为什么不提供离线Blog管理工具呢?
  2. 计算机考研不压分的学校,考研院校里,这些学校不压分、不歧视专科生,值得关注...
  3. 套接字I/O模型之WSAEventSelect
  4. python降级-关于卸载:如何从Python 3.2降级到2.7?
  5. DOxygen for C++使用说明——Markdown支持
  6. 【渝粤题库】广东开放大学 文化投资与贸易 形成性考核
  7. CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?
  8. java考勤表导出_考勤表如何导出?
  9. 免费公网动态IP方案
  10. 读取数据快慢的设备_目前在以下各种设备中,读取数据快慢的顺序是内存、硬盘、光盘和软盘。...
  11. Ubuntu上不了网,不可以ping网址,但是可以ping通其ip
  12. 前端页面 数据处理input、textarea输入框实时 统计字数(真实字数)
  13. C++Singleton模式
  14. 【分析】CPU hotplug时进程上下文切换流程分析
  15. 横向打印二叉树 java_按树状横向打印二叉树
  16. 基于Python的指数基金量化投资 ——A股所有个股名称和证券代码获取
  17. 阿凯的第一个作品---自我介绍
  18. python元组赋值_【Python】元组的基本使用
  19. MATLAB数学建模 线性方程式与线性系统
  20. 纯国产的大佬周志华,如何扛起了智能学界的一面大旗

热门文章

  1. CSS基础知识(颜色、伪类、盒子模型)
  2. Servlet 2.0 Servlet 3.0 新特性
  3. 水晶报表左侧树不显示属性设置
  4. centOS 7 安装man中文版手册
  5. 用JQuery模仿淘宝的图片显示效果
  6. 网吧电源和网络布线经验谈(1)
  7. 在DataGrid中添加一个LookUpColumn,以比较灵活地实现DictValue值代替DictID值显示.
  8. 阿里云提示WordPress“/wp-includes/http.php输入IP验证不当”的解决办法
  9. 安装kubernetes1.12.1的 dashboard v1.10 + Heapster
  10. MXNet动手学深度学习笔记:线性回归