建立一个自定义标签,用于绘制出显示不同物品比例的柱状图

问题描述

建立一个自定义标签,用于绘制出显示不同物品比例的柱状图,使用时如下:<h:drawRatevalue=”${map}”width=”400”height=”300”/>通过传入一个map值,用表格或div显示出最终效果。Value(map类型)Map的Key表示物质类型,为字符串类型Map的value表示该物质占有的比例,为double类型要求图按value的值降序排序,显示效果同下:Width表示图的总宽度。因为总宽度是动态设定的,所以每个品种的宽度也需要计算才能得出Height表示图的总高度。因为总高度是动态设定的,所以每个品种的高度也需要计算才能得出

解决方案

解决方案二:
靠,竟然没人给答案。
解决方案三:
新建一个tag如下:<%@tagbody-content="empty"pageEncoding="utf-8"import="java.util.*"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@attributename="width"type="java.lang.String"required="true"%><%@attributename="height"type="java.lang.String"required="true"%><%@attributename="value"type="java.util.Map"required="true"%><%Map<String,Double>m=(Map<String,Double>)jspContext.getAttribute("value");Set<Map.Entry<String,Double>>s=m.entrySet();List<Map.Entry<String,Double>>l=newArrayList<Map.Entry<String,Double>>(s);Collections.sort(l,newComparator<Map.Entry<String,Double>>(){publicintcompare(Map.Entry<String,Double>z1,Map.Entry<String,Double>z2){returnz2.getValue()-z1.getValue()<0?-1:(z2.getValue()-z1.getValue())==0?0:1;}});jspContext.setAttribute("list",l);%><divstyle="height:${height}"><c:forEachvar="item"items="${list}"><divstyle="float:left;marght-left:30px;margin-top:${height*(1-item.value)}px"><divstyle="background-color:red;height:${height*item.value}px;width:${width}px;"></div><div>${item.key}${item.value*100}</div></div></c:forEach></div>再新建一个jsp:<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@taglibprefix="h"tagdir="/WEB-INF/tags"%><%Map<String,Double>map=newHashMap<String,Double>();map.put("苹果",0.5);map.put("梨",0.3);map.put("桔子",0.2);request.setAttribute("map",map);%><h:drawRateheight="400"width="100"value="${map}"/>
解决方案四:
楼猪结贴为0!

时间: 2024-11-08 18:20:44

建立一个自定义标签,用于绘制出显示不同物品比例的柱状图的相关文章

javaweb-在一个自定义标签中利用out.write输出里一个自定义标签失效

问题描述 在一个自定义标签中利用out.write输出里一个自定义标签失效 public void doTag() throws JspException, IOException { Book book = null; JspContext jc = super.getJspContext(); JspWriter out = jc.getOut(); Object value = jc.getAttribute(bookMap); // if (value instanceof Map) {

JSP自定义标签入门学习_JSP编程

本文为大家分享了JSP自定义标签入门学习教程,希望大家喜欢. 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作.JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面. JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记.你可以继承SimpleTagSupport类

大家对自定义标签在数据库中是怎么存储的?

问题描述 比如我在提交信息内容的时候,自定义标签是:饭店好吃便宜那我在数据库中怎么处理这些标签呢?是把他们作为一个字符串存在一列里,还是分割字符串,每个关键字做索引.正在做相关的东西,寻求个比较好的解决办法.我现在了解到的做法是,建立一个自定义标签的表,分割关键字,每个关键字单独一行,并和相关的内容信息关联起来. 解决方案 解决方案二:没人回答,自己顶.解决方案三:方法很多嘛.你的也算一种,没有什么值得讨论的.解决方案四:帮顶.

Struts2自定义标签2自定义一个按班级id查询出该班级下的学生,存放进值栈,并遍历出来。

Struts2自定义标签的流程概念: (1)需要两个类:标签类(继承相应的tag类),基本类(继承Component).标签类专门负责从客户端取得用户输入的一些属性,这个普通的jsp自定义标签一样,取出来以后,需要把取出的属性值赋给基本类.从而可以看到基本类里面的属性也跟tag里面差不多. (2)tag类里面,需要定义你客户端传来的属性.私有化.并相应的set get.  必须的两个方法是public Component getBean(ValueStack stack,HttpServletR

JSTL自定义标签

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51264254 目录(?)[+]         这节我们总结一下JSTL自定义标签相关内容. 1. 自定义标签简介         自定义标签主要用于移除JSP页面中的Java代码.Jsp页面主要是用来显示给前台的,如果里面有过多的java代码的话,会显得很乱,但是没有java代码也无法获取相关数据或完成相关操作.那么这时候我们就可以自己定义一个标签,来完成

在 Visual C# .NET 中建立一个平滑的进度条

visual 本文内容概述建立一个自定义的进度条控件建立一个简单的客户端应用 -------------------------------------------------------------------------------- 概述本文描述了如何建立一个简单的.自定义的用户控件--一个平滑的进度条. 在早先的进度条控件版本中,例如在 Microsoft Windows Common Controls ActiveX 控件中提供的版本,您可以看到进度条有两种不同的视图.您可以通过设定

xml自定义标签-xml文档中存在自定义的标签,是否是web攻击

问题描述 xml文档中存在自定义的标签,是否是web攻击 百度web注入攻击的概念,大都是说客户端提交表单到后台验证,结果后台对提交的表单没有进行有效性验证导致问题出现. 现在存在这样一个系统:数据存在xml文档中,把数据导入系统时,对xml文档进行解析,验证没有错误后保存到数据库中.但只是检查该系统运行必须数据是否存在,是否正确,如果多出一个自定义标签,如,导入时不做任何验证,也不保存到数据库中. 请问,这种情况是否符合web攻击方式中的一种?严重性如何? 谢谢

JSP 自定义标签之一 简单实例_JSP编程

在JSP中使用自定义标签可以达到这样的目的,事实上,我们所熟知的各类框架基本上都是通过自定义标签的形式来实现的. 通过使用自定义标签,我们可以将实现复杂的逻辑在页面用简单的标签来加以展示.下面我们来实现一个非常简单的自定义标签,期望通过这个简单的实例引领各位进入自定义标签的领域.我们准备定义的这个自定义标签所实现的功能是在JSP页面中显示出版权信息,并且在以后的博文中,我们还会对它进行升级改造. 首先,打开编辑器,创建以下Java代码: 复制代码 代码如下: package com.yanzhi

jsp中自定义标签用法实例分析_JSP编程

本文实例讲述了jsp中自定义标签用法.分享给大家供大家参考.具体如下: 这里简单的写了一个自定义标签,自己定义标签的好处就是在jsp页面中可以使用自己定义的功能,完全与Java代码分离 1. tld文件如下: 首先是要写×.tld文件,当项目随着服务器启动的时候,会检查项目中有没有*tld文件. 写的tld文件 <?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://ja