echarts java吗_Echarts在java中使用

index.jsp

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

This is my JSP page

html,body,#wrapper{

width: 100%;

height: 100%;

}

.navbar-inverse{

border-radius:0;

margin-bottom: 0;

}

.navbar-inverse .navbar-header{

width: 180px;

text-align: center;

border-right: 1px solid rgba(255,255,255,0.4);

}

.navbar-inverse .navbar-header .navbar-brand{

float: none;

display: inline-block;

}

.slider{

width: 180px;

min-width:180px;

top:52px;

bottom: 0;

position: absolute;

background-color: rgba(0,0,0,0.00);

box-shadow:3px 0 6px rgba(0,0,0,0.3)

}

.slider .nav li a:hover,

.slider .nav li.active > a{

background-color: rgba(0,0,0,0.2)!important;

}

.slider .sub-menu li a{

padding-left:40px;

}

.slider .sub-menu{

/* border-bottom:1px solid #e5e5e5; */

border-top:1px solid #e5e5e5;

}

#wrap{

margin: 0 0 0 180px;

}

#wrap .wrap{

padding:5px 10px;

}

.panel .panel-footer{

background-color: #ffffff;

padding: 0 15px;

}

.panel-footer .pagination{

margin: 5px;

}

用户列表

搜 索

年龄分析

ID用户名密码年龄邮箱操作
${user.id }${user.username }${user.password }${user.age }${user.email }

详情

修改

删除

$('#gridSystemModalLabel').on('shown.bs.modal',function(){

var charts = echarts.init(document.getElementById("charts"));

var option = {

title: {

text: '用户年龄分析',

left:'center'

},

tooltip: {},

legend: {

orient:'vertical',

left:'left',

data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]

},

series: [{

name: '用户年龄分析',

type: 'pie',

radius:'65%',

data: []

}]

};

charts.showLoading();

utils.ajax({

url:'users/usersController',

data:{"_method":"analyzeAge"},

success:function(data){

charts.hideLoading();

eval("data = "+data);

//为了得到名字

var names = [];

for(var i in data){

names.push(data[i]['name']);

}

//设置值

option.legend.data = names;

option.series[0].data = data;

charts.setOption(option);

}

});

});

//打开或是关闭菜单

function openOrClose(_dom){

var sub_menu = getNextSilbing(_dom);

var flag = _dom.querySelector(".pull-right");

//如果包含某些样式 则做一些事情

if(hasClass(sub_menu,"hidden")){

//去掉 关于隐藏的class

removeClass(sub_menu,"hidden");

//去掉菜单上的向左的箭头

removeClass(flag,"glyphicon-chevron-left");

//添加上向下的箭头

addClass(flag,"glyphicon-chevron-down");

}else{

//添加是 隐藏的class

addClass(sub_menu,"hidden");

//移除向下的箭头

removeClass(flag,"glyphicon-chevron-down");

//添加上向左的箭头

addClass(flag,"glyphicon-chevron-left");

}

//console.log();

}

//得到下一个兄弟节点

function getNextSilbing(_dom){

_dom = _dom.nextSibling;

while(_dom.nodeType!=1){

_dom = _dom.nextSibling;

}

return _dom;

}

//判断是否包含没有个class样式

function hasClass(_dom,_className){

if(_dom.className.indexOf(_className)!=-1){

return true;

}

return false;

}

//给指定的元素添加指定的样式

function addClass(_dom,_className){

_dom.className = _dom.className+" "+_className;

}

//给指定的元素移除指定的样式

function removeClass(_dom,_className){

_dom.className = _dom.className.replace(_className,"");

//将每次添加上的多余的空格去掉

_dom.className = _dom.className.replace(/\s+/ig," ");

}

UsersController.java

package com.huawei.controller;

import java.io.File;

import java.io.IOException;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.huawei.common.Page;

import com.huawei.po.Users;

import com.huawei.service.UsersService;

/**

* Servlet implementation class UsersController

*/

public class UsersController extends HttpServlet {

private static final long serialVersionUID = 1L;

private UsersService usersService = new UsersService();

/**

* @see HttpServlet#HttpServlet()

*/

public UsersController() {

super();

// TODO Auto-generated constructor stub

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

this.doPost(request, response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

/**

* 将 当前的doPost方法 当作中专站

*/

String _method = request.getParameter("_method");

if("findAll".equalsIgnoreCase(_method)){

this.findAll(request, response);

}else if("deleteById".equalsIgnoreCase(_method)){

this.deleteById(request, response);

}else if("register".equalsIgnoreCase(_method)){

this.register(request, response);

}else if("findById".equalsIgnoreCase(_method)){

this.findById(request, response);

}else if("update".equalsIgnoreCase(_method)){

this.update(request, response);

}else if("analyzeAge".equalsIgnoreCase(_method)){

this.analyzeAge(request, response);

}

}

private void analyzeAge(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{

// TODO Auto-generated method stub

response.getWriter().write(this.usersService.analyzeAge());

}

private void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{

Users curr = (Users) request.getSession().getAttribute("admin");

if(ServletFileUpload.isMultipartContent(request)){

Map map = new HashMap();

//创建工厂

DiskFileItemFactory factory = new DiskFileItemFactory();

//得到JVM提供的缓存目录

ServletContext context = this.getServletContext();

File repository = (File)context.getAttribute("javax.servlet.context.tempdir");

factory.setRepository(repository);

//创建ServletFileUpload

ServletFileUpload upload = new ServletFileUpload(factory);

//解析请求

try {

List items = upload.parseRequest(request);

//users = new Users();

for(FileItem item:items){

//form表单里面的每一个字段

map.put(item.getFieldName(), item);

}

Users u = new Users();

u.setId(Integer.parseInt(map.get("id").getString()));

u.setUsername(map.get("username").getString());

u.setPassword(map.get("password").getString());

u.setEmail(map.get("email").getString());

//u.setImage(Integer.parseInt(map.get("id").getString()));

u.setAge(Integer.parseInt(map.get("age").getString()));

//处理 前一步的数据没有顺序的问题

//for(String key:map.keySet()){

//FileItem item = map.get(key);

//if(item.isFormField()){

//没有顺序

//}else{

//得到跟路径

String path = context.getRealPath("/");

//得到附件目录

File attachment = new File(path,"attachment/"+map.get("username").getString());

//如果没有 就创建目录

System.out.println(attachment.getAbsolutePath());

System.out.println(attachment.exists());

if(!attachment.exists()){

attachment.mkdirs();

}

FileItem image = map.get("image");

File output = new File(attachment,System.currentTimeMillis()+"."+getSuffix(image.getName()));

image.write(output);

u.setImage("attachment/"+map.get("username").getString()+"/"+output.getName());

//System.currentTimeMillis()

this.usersService.update(u);

this.findAll(request, response);

//}

//}

//map.get("id");

} catch (Exception e) {

e.printStackTrace();

}

}

}

private String getSuffix(String name){

if(name!=null){

String[] suffixs = name.split("\\.");

if(suffixs.length>1){

return suffixs[suffixs.length-1];

}

}

return "";

}

private void findById(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {

String id = request.getParameter("id");

if(id!=null && id.trim()!=""){

Users users = this.usersService.findById(Integer.parseInt(id));

request.setAttribute("users", users);

request.getRequestDispatcher("/views/update.jsp").forward(request, response);

return ;

}

}

private void register(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

Users users = null;

//判断是否有文件上传

if(ServletFileUpload.isMultipartContent(request)){

//创建工厂

DiskFileItemFactory factory = new DiskFileItemFactory();

//得到JVM提供的缓存目录

ServletContext context = this.getServletContext();

File repository = (File)context.getAttribute("javax.servlet.context.tempdir");

factory.setRepository(repository);

//创建ServletFileUpload

ServletFileUpload upload = new ServletFileUpload(factory);

//解析请求

try {

List items = upload.parseRequest(request);

users = new Users();

for(FileItem item:items){

//form表单里面的每一个字段

}

//得到跟路径

String path = context.getRealPath("/");

//得到附件目录

File attachment = new File(path,"attachment");

//如果没有 就创建目录

if(!attachment.exists()){

attachment.mkdirs();

}

} catch (FileUploadException e) {

e.printStackTrace();

}

}

}

protected void deleteById(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

String id = request.getParameter("id");

this.usersService.deleteById(Integer.parseInt(id));

response.sendRedirect("usersController?_method=findAll");

}

protected void findAll(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//List users = this.usersService.findAll();

//request.setAttribute("users", users);

String keyword = request.getParameter("keyword");

if(keyword==null){

keyword = "";

}

Page page = new Page();

String curr = request.getParameter("curr");

if(curr ==null || curr.trim().equals("")){

curr ="1";

}

page.getKeywords().put("username", keyword);

page.setCurr(Integer.parseInt(curr));

page = this.usersService.find4Page(page);

request.setAttribute("page", page);

request.getRequestDispatcher("/views/index.jsp").forward(request, response);

return;

}

}

UsersService.java

package com.huawei.service;

import java.util.List;

import com.huawei.common.Page;

import com.huawei.dao.UsersDAO;

import com.huawei.po.Users;

public class UsersService {

private UsersDAO usersDAO = new UsersDAO();

public List findAll(){

return this.usersDAO.findAll();

}

public void deleteById(Integer id) {

// TODO Auto-generated method stub

this.usersDAO.delete(id);

}

public Page find4Page(Page page){

return this.usersDAO.find4Page(page);

}

public Users findByUsername(String username) {

List users = this.usersDAO.findBy("username",username);

return users.size()>0?users.get(0):null;

}

public Users findById(Integer id){

return this.usersDAO.findById(id);

}

public void update(Users users){

this.usersDAO.update(users);

}

public String analyzeAge(){

return this.usersDAO.analyzeAge();

}

}

UsersDAO.java

package com.huawei.dao;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.List;

import com.huawei.base.BaseDAO;

import com.huawei.common.CallBack;

import com.huawei.common.Page;

import com.huawei.po.Users;

import com.huawei.utils.BeanUtil;

public class UsersDAO extends BaseDAO{

@Override

public Page find4Page(Page page) {

//构建sql语句

String sql = "SELECT * FROM "+BeanUtil.getTableName(clazz)+" WHERE username LIKE ? LIMIT ?,?";

String count = "SELECT COUNT(1) FROM "+BeanUtil.getTableName(clazz)+" WHERE username LIKE ?";

//得到数据

List data = this.find(sql, new Object[]{"%"+page.getKeywords().get("username")+"%",(page.getCurr()-1)*page.getPageSize(),page.getPageSize()});

page.setRowCount(this.getCount(count,new Object[]{"%"+page.getKeywords().get("username")+"%"}));

page.setData(data);

return page;

}

public String analyzeAge(){

final StringBuilder sb = new StringBuilder("[");

String sql = "SELECT "+

"CASE "+

"WHEN age>0 && age<11 THEN '十岁以下' "+

"WHEN age>10 && age<21 THEN '11-20' "+

"WHEN age>20 && age<31 THEN '21-30' "+

"WHEN age>30 && age<41 THEN '31-40' "+

"WHEN age>40 && age<51 THEN '41-50' "+

"WHEN age>50 && age<61 THEN '51-60' "+

"WHEN age>60 && age<71 THEN '61-70' "+

"WHEN age>70 && age<81 THEN '71-80' "+

"WHEN age>80 && age<91 THEN '81-90' "+

"WHEN age>90 && age<101 THEN '91-100' "+

"WHEN age>100 THEN '一百岁以上' "+

"END as 'label',count(age) as 'value' "+

"FROM "+

"users "+

"GROUP BY label ";

this.executeQuery(sql, null, new CallBack() {

@Override

public void execute(ResultSet rs) throws SQLException {

//处理数据

//"{\"name\":\"\",\"value\":\"\"}"

while(rs.next()){

sb.append("{").append("\"name\":\"").append(rs.getString("label")+"\",\"value\":\"").append(rs.getInt("value")+"\"").append("},");

}

}

});

if(sb.length()>1){

sb.deleteCharAt(sb.length()-1);

}

sb.append("]");

return sb.toString();

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值