Struts与JFreeChart的整合

一:Struts与JFreeChart的整合

将struts2-jfreechart-xxx.jar放入工程lib下

jsp页面

<%@ taglib prefix="s" uri="/struts-tags" %>

<s:form>

<s:checkbox name="inserest" label="足球" fieldValue="football" labelposition="left"></s:checkbox> //labelposition="left"表示标签显示在左边,不加则显示在右边

<s:checkbox name="inserest" label="篮球" fieldValue="basketball"></s:checkbox>

<s:checkbox name="inserest" label="排球" fieldValue="volleyball"></s:checkbox>

<s:checkbox name="inserest" label="羽毛球" fieldValue="badminton"></s:checkbox>

 

<s:checkboxlist list="#{'computer' : '计算机' , 'math' : '数学'}" name="inserest" label="请选择喜欢的课程" labelposition="top">

<s:checkboxlist>

 

<s:submit value="提交"/>

<s:form>

 

public class ViewResult extends ActionSupport {

//要使用JFreeChart,必需要有此属性,且属性名必需为chart

private JFreeChart chart;

getter; //可以不用setter;

public JFreeChart getJFreeChart() {

//参数(title, 横轴文字, 纵轴文字, 数据集, 水平还是垂直, 是否产生langed即说明, 是否产生提示, 是否产生url)

chart = ChartFactory.createBarChart("兴趣统计结果", "项目". "结果", this.getDataset(), PlotOrientation.VARTICAL, false, false, false);

//重新设置图表的标题

chart.setTitle(new TextTitle("兴趣统计结果", new Font("黑体", Font.BOLD, 22)));

CategoryPlot plot = (CategoryPlot)chart.getPlot();

CategoryAxis categoryAxis = plot.getDomainAxis();

categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));

//设置字体倾斜多少度

categoryAxis.setCategoryLabelPosition(CategoryLabelPositions.UP_45);

NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();

numberAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));

}

 

private List<String> interest;

getter; setter;

 

public String excute() throws Exception {

}

 

//此方法实际中应放入业务层中

private void increaseResult(List<String>) {

ActionContext context = ActionContext.getContext();

Map map = context.getApplication();

for(String str :list) {

if(null == map.get(str)) {

map.put(str, 1);

}else {

map.put(str, (Integer)map.get(str) + 1)

}

}

}

 

private CategoryDataset getDataset() {

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

this.increaseResult(this.getInterset());

ActionContext context = ActionContext.getContext();

Map map = context.getApplication();

dataset.setValue((Integer)map.get("football"), "", "足球");

dataset.setValue((Integer)map.get("basketball"), "", "篮球");

dataset.setValue((Integer)map.get("valleyball"), "", "排球");

dataset.setValue((Integer)map.get("badminton"), "", "羽毛球");

retutn dataset;

}

}

 

强制修改一下jar文件

将struts-jfreechart-***.jar解压,修改其中的struts-plugin.xml

修改<package name="jfreechart-default">为

<package name="jfreechart-default" extends="struts-default">

cmd进入到解压后的jar文件夹中

jar cvf struts2-jfreechart-pluin-2.0.11.jar -C *

 

struts.xml

<package name="jfreechart-defalut">

<action name="viewResult" class="com.***.action.ViewResult">

<result-type name="success" type="chart">

<param name="height">600</param>

<param name="width">800</param>

</result>

</action>

</package>

 

Struts整合插件的一般方法与通过Struts与JFreeChart的整合的方法类似

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值