DynamicAttributes接口

来源:互联网 发布:ubuntu postfixadmin 编辑:程序博客网 时间:2024/06/05 03:28

完成一个动态的加法操作:----DynamicAddTag.java

package org.lxh.tagdemo ;import java.io.* ;import java.util.* ;import javax.servlet.jsp.* ;import javax.servlet.jsp.tagext.* ;public class DynamicAddTag extends SimpleTagSupport implements DynamicAttributes {private Map<String,Float> num = new HashMap<String,Float>() ;public void doTag()           throws JspException,                  IOException{Float sum = 0.0f ;Iterator<Map.Entry<String,Float>> iter = this.num.entrySet().iterator() ;while(iter.hasNext()){Map.Entry<String,Float> value = iter.next() ;sum += value.getValue() ;// 取出每一个内容}super.getJspContext().getOut().write(sum + "") ;}public void setDynamicAttribute(String uri,                         String localName,                         Object value)                         throws JspException{// 取出设置的每一个动态属性,都保存在Map集合里num.put(localName,Float.parseFloat(value.toString())) ;}}
编写标签描述文件,增加动态属性设置----修改mldntag.tld

 <tag><name>add</name><tag-class>org.lxh.tagdemo.DynamicAddTag</tag-class><body-content>empty</body-content><dynamic-attributes>true</dynamic-attributes>    </tag>

调用标签,设置动态属性----addtag.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%><%@ taglib prefix="mytag" uri="mldn"%><html><head><title></title></head><body><h2>计算结果:<mytag:add num1="11.2" num2="12.3" num3="13.5"/> </h2></body></html>




0 0
原创粉丝点击