2.11.7 动态属性的标签

原创 2013年12月02日 14:34:10

1.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">
	<description>
  		<![CDATA[".........."]]>
	</description>
  <display-name>Custom Struts Tags</display-name>
  <tlib-version>1.0</tlib-version>
  <short-name>xue</short-name>
  <uri>/xue-tags</uri>
  <tag>
		<description><![CDATA[Render an HTML input field of type button]]></description>
		<name>button</name>
		<tag-class>com.xue.frame.core.tag.HelloTag</tag-class>
		<body-content>JSP</body-content> 
		<dynamic-attributes>true</dynamic-attributes> 
  </tag>
</taglib>

2.  

public class HelloTag extends TagSupport implements DynamicAttributes{
	/**
	 * 
	 */
	private static final long serialVersionUID = 9171755382967196868L; 


	Map<String,Object> dynamicAttributeMap=new HashMap<String,Object>();
	
	@Override
	public void setDynamicAttribute(String uri, String localName, Object value)
			throws JspException {
		dynamicAttributeMap.put(localName, value);
		
	}
	@Override
	public int doEndTag() throws JspException {
		return EVAL_PAGE;
	}


	@Override
	public int doStartTag() throws JspException {
		try { 
			HttpSession session = pageContext.getSession();
  
			StringBuffer buffer = new StringBuffer("<input"); 
			buffer.append(" type='button' "); 
			
			Iterator it= dynamicAttributeMap.entrySet().iterator();
			while(it.hasNext()){
				Entry entry=(Entry)it.next();


				buffer.append(" "+entry.getKey()+"='" + entry.getValue() +"' "); 
			}
			buffer.append("/>");
			pageContext.getOut().println(buffer.toString());
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		return SKIP_BODY;
	} 
}

3.

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="fnst" uri="/fnst-tags"%>
<%@ taglib prefix="xue" uri="/xue-tags" %>
<%@include file="../common/includePath.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<base href="<%=basePath%>">
	<title>门店月销售报表</title>
	<%@include file="../common/includeLibrary.jsp"%>
	
	<script type="text/javascript" src="<%=basePath%>js/report/storeMonthReport.js"> </script> 
	<link rel="stylesheet" type="text/css" href="<%=basePath%>css/report/storeMonthReport.css" />
	
	<script type="text/javascript">  
		var exportExcelURL="<%=basePath%>report/storemonth_exportExcel";
		
		var getDirectStorageListOfDirectCompURL = "<%=basePath%>report/pss_getDirectStorageListOfDirectComp";
				
	</script>
</head>
	<body >  <xue:button id="querybutton" value="自定义button" styleClass="button" permission="true"/> 

	</body>
</html> 



相关文章推荐

自定义标签(5)动态属性的标签

1.什么情况下需要使用动态属性的标签? 前面介绍带属性标签时,那些标签的属性个数是确定的,属性名也是确定的,绝大部分情况下这种带属性的标签能处理得很好,(但在某些特殊情况下,需要传入自定义标签的属性...

安装Scala-2.11.7——集群学习日记

在安装Spark之前,我们需要安装Scala语言的支持。在此我选择的是scala- scala-2.11.7。...

动态网页JSP实验:标签

  • 2017年11月08日 20:16
  • 1.37MB
  • 下载

动态改变li标签样式

  • 2011年07月25日 17:20
  • 109KB
  • 下载

二,自定义带有属性的标签

带有属性标签的处理类带有属性标签必须为每个属性提供对应的setter和getter方法package com.servlet.customerTag;import java.io.IOExceptio...

动态标签打印

  • 2006年03月16日 00:00
  • 2.44MB
  • 下载

动态添加热门标签

  • 2017年06月13日 00:08
  • 22.35MB
  • 下载

表格标签及属性的理解

table tr td---表格标签,tr代表行,td代表单元格(组成列) table自带属性 align=“值”;规定表格相对父级的对其方式,它的值有left,right,cent...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2.11.7 动态属性的标签
举报原因:
原因补充:

(最多只允许输入30个字)