Struts2 自定义下拉框Tag标签_java

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

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

<?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>

页面输出:

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"/>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索struts自定义标签
struts2标签下拉框
struts2下拉框标签、jsp自定义下拉框标签、struts2 自定义标签、struts自定义标签库、struts 自定义标签,以便于您获取更多的相关知识。

时间: 2024-10-22 15:24:23

Struts2 自定义下拉框Tag标签_java的相关文章

Jquery Easyui自定义下拉框组件使用详解(21)_jquery

本文实例为大家分享了Jquery Easyui自定义下拉框组件的实现代码,供大家参考,具体内容如下 加载方式 JS调用加载 自定义下拉框不能通过标签的方式进行创建. <input id="box" /> <script> $(function () { //JS 加载调用 $('#box').combo({ required : true, multiple : true, }); }); </script> 属性列表 <script>

jquery美化select自定义下拉框样式示例

select默认的样式的确太丑了,不得不让web前端开发人员费工夫来美化它,在网上搜了一个美化的效果,看起来还不错,收集起来已被后用,需要的可以直接拿去. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://w

jQuery 自定义下拉框(DropDown)附源码下载_jquery

先给大家展示下效果图,喜欢的朋友可以下载源码哦 效果演示   源码下载 <section class="main"> <div class="wrapper-demo"> <div id="dd" class="wrapper-dropdown-1" tabindex="1"> <span>手册网</span> <ul class="

AjaxControlToolKit环境下用UserControl(C#)模拟的自定义下拉框(上)

在上一篇文章<AjaxControlToolkit环境下用Javascript实现简单的Dropdownlist>里写了关于用 javascript写的一个dropdownlist的例子,由于不易于复用和在C#里进行管理,所以后来用UserControl 重新封装了一个DropDownList控件,基本模拟Asp.Net原有的DropDownList控件,使得其他用户直接托拽 到相应地方即可正常工作. 首先还是先看一下截图: 实现过程如下: 1.Aspx代码部分: 用div及textbox等模

android中自定义下拉框

android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在编辑框的下面,然后又很多选项的下拉框,可是我在网上找了一下,没有这种下拉框额,就自己写了一个,看效果图先: ,这个是资料填写的一部分界面,三个下拉框,选择故乡所在地: 点击之后弹出下拉框,选择下面的选项: 三个下拉框时关联的,第一个决定了第二数据内容,第二个决定了第三个数据内容,如果三个全部选好之后

如何将一个properties文件的key绑定到struts2的下拉框中

问题描述 现在有一个aaa.properties文件,内容格式xxx=yyy,现在要将xxx都取出来绑定到struts2的下拉列表中?我的代码是这样的:<%@includefile="../bas/common.jsp"%><HTML><HEAD><TITLE></TITLE></HEAD><%Listlist=newArrayList();Propertiesp=newProperties();p.load

如何将一个properties文件的key绑定到struts2的下拉框中?

问题描述 现在有一个aaa.properties文件,内容格式xxx=yyy,现在要将xxx都取出来绑定到struts2的下拉列表中?我的代码是这样的:<%@includefile="../bas/common.jsp"%><HTML><HEAD><TITLE></TITLE></HEAD><%Listlist=newArrayList();Propertiesp=newProperties();p.load

AjaxControlToolKit环境下用UserControl(C#)模拟的自定义下拉框(下)

3.用Javascript实现的SELDropDownListBehavior部分: javascript主要用来控制各个控件的展现和状态: function SELDropDownListBehavior(elements) { // Elements this._globalContainer = null; this._headerContainer = null; this._headerText = null; this._arrowImage = null; this._listBo

toggle一个div显示或隐藏且可扩展成自定义下拉框_jquery

复制代码 代码如下: $(function(){ //toggle div $("#gga").click(function(event){ event.stopPropagation(); //阻止冒泡事件 $(".toggleoption").slideToggle("fast"); }); //slideup div $(document).click(function(event) { var eo = $(event.target);