`
knight_black_bob
  • 浏览: 858065 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nutz demo

    博客分类:
  • nutz
阅读更多

 

package com.curiousby.nut;

import org.nutz.mvc.annotation.By;
import org.nutz.mvc.annotation.Filters;
import org.nutz.mvc.annotation.IocBy;
import org.nutz.mvc.annotation.Modules;
import org.nutz.mvc.annotation.SetupBy;
import org.nutz.mvc.annotation.Views;
import org.nutz.mvc.ioc.provider.ComboIocProvider;
import org.nutz.mvc.view.JPEGViewMaker;

import com.curiousby.common.filter.CheckLoginFilter;
import com.curiousby.common.setup.SetupByMain;
 
/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午4:42:49
 *
 * desc: ...
 */
@Modules(scanPackage = true)
@Views(JPEGViewMaker.class)
@IocBy(type = ComboIocProvider.class, args = {
		"*org.nutz.ioc.loader.annotation.AnnotationIocLoader", "com.curiousby.nut",
		"*org.nutz.ioc.loader.xml.XmlIocLoader", "dao.xml" })
@Filters(@By(type = CheckLoginFilter.class, args = { "currentUser", "/index.jsp" }))
@SetupBy(SetupByMain.class)
public class MainModule {
	
}

 

package com.curiousby.nut.bean;

import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Id;
import org.nutz.dao.entity.annotation.Table;

/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午5:33:57
 *
 * desc: ...
 */
@Table("t_user")
public class User {

	//userId,userName,password,tel,sex,description
	@Id
	private int userId;
	@Column
	private String userName;
	private String password;
	private String tel;
	private String sex;
	private String description;
	
	
	public int getUserId() {
		return userId;
	}
	public void setUserId(int userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getTel() {
		return tel;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	
	
	
}

 

package com.curiousby.nut.dao;

import org.nutz.dao.impl.NutDao;
import org.nutz.ioc.loader.annotation.IocBean;
/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午5:36:51
 *
 * desc: ...
 */
@IocBean(name="userDao",fields={ "dataSource" })
public class UserDao extends NutDao { 

}

 

package com.curiousby.nut.service;

import java.util.HashMap;
import java.util.Map;

import org.nutz.dao.Cnd;
import org.nutz.dao.Condition;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.entity.Entity;
import org.nutz.dao.pager.Pager;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.Daos;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.json.Json;
import org.nutz.log.Log;
import org.nutz.log.Logs;
import org.nutz.service.IdEntityService; 

import com.curiousby.common.Consts;
import com.curiousby.nut.bean.User;
import com.curiousby.nut.search.UserSearch;
 

/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午5:36:59
 *
 * desc: ...
 */
@IocBean(name="userService")
public class UserService extends IdEntityService<User>{
	public static final Log log = Logs.getLog(UserService.class);
	
	@Inject("refer:userDao")
	public void setActivityDao(Dao dao){
		setDao(dao);
	}

	public String getPersonList(UserSearch us, int pageNumber) {
		Sql sql = Sqls.create(
				"select u.userId,u.userName,u.password,u.tel,u.sex,u.description from t_user u  $condition");
		Entity<User> entity = this.dao().getEntity(User.class);
		sql.setEntity(entity).setCondition(bulidQureyCndforPersonManage(us));
		Pager pager = this.dao().createPager(pageNumber, Consts.newPageSize);
		pager.setRecordCount((int) Daos.queryCount(this.dao(), sql.getSourceSql()));
		sql.setPager(pager);
		sql.setCallback(Sqls.callback.records());
		this.dao().execute(sql);
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("pageCount", (pager.getRecordCount() + Consts.newPageSize - 1) / Consts.newPageSize);
		map.put("list", sql.getList(User.class));
		System.out.println("person manage: " + map.toString());
		return Json.toJson(map);
	}
	
	private Condition bulidQureyCndforPersonManage(UserSearch us) {

		Cnd cnd = null;
		if (null != us) {
			cnd=Cnd.where("1", "=", 1);
			if (null !=us.getUserName() && !"".equals(us.getUserName())) {
				cnd.and("u.userName", "LIKE", "%" + us.getUserName() + "%");
			}
		}
		cnd.orderBy("u.userId", "desc");
		return cnd;
	}
	
}

 

package com.curiousby.nut.search;
/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午6:31:35
 *
 * desc: ...
 */
public class UserSearch {

	private String userName;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

 
	
}

 

package com.curiousby.nut.controller;

import javax.servlet.http.HttpServletRequest;

import org.nutz.dao.pager.Pager;
import org.nutz.ioc.annotation.InjectName;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.log.Log;
import org.nutz.log.Logs;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Attr;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;

import com.curiousby.nut.bean.User; 
import com.curiousby.nut.search.UserSearch;
import com.curiousby.nut.service.UserService;
 
/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午5:37:18
 *
 * desc: ...
 */
@IocBean
@InjectName
@At("/user")
public class UserController {

	public static final Log log = Logs.getLog(UserController.class);
	private UserService userService;
	
	@At("/userList")
	@Ok("raw")
	public String getPersonList( @Param("userName") String userName, @Param("..") Pager pager,HttpServletRequest request,@Attr("currentUser") User user) {
		UserSearch us = new UserSearch();
		us.setUserName(userName);

		return userService.getPersonList(us, pager.getPageNumber());
	}
	
	
	@At("/toUserList")
	@Ok("jsp:jsp.user.userList")
	public void toPersonList(HttpServletRequest request) {
		log.error("-------------------------------");
		log.info("come to userlist");
		log.error("-------------------------------");
	}
	
	
	public UserService getUserService() {
		return userService;
	}
	@Inject("refer:userService")
	public void setUserService(UserService userService) {
		this.userService = userService;
	}

}

 

 

 

package com.curiousby.common.filter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.nutz.mvc.ActionContext;
import org.nutz.mvc.ActionFilter;
import org.nutz.mvc.Mvcs;
import org.nutz.mvc.View;
import org.nutz.mvc.view.ServerRedirectView;

/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午4:50:10
 *
 * desc: ...
 */
public class CheckLoginFilter implements ActionFilter{
	private String name;
	private String path;
	
	public CheckLoginFilter(String name, String path) {
		super();
		this.name = name;
		this.path = path;
	}


	@Override
	public View match(ActionContext context) {
		HttpServletRequest request = context.getRequest();
		String uri = request.getRequestURI();
		if (uri != null 
			&& uri.contains("/user/register")
			|| uri.contains("/user/toUserList")// 本实例 没有登陆加上该uri
			|| uri.contains("/user/userList")// 本实例 没有登陆加上该uri
			|| uri.contains("/user/login") 
			) {
			return null;  
		} else {
			HttpSession session = Mvcs.getHttpSession(false);
			if (session == null || null == session.getAttribute(name)) {
				return new ServerRedirectView(path);
			}
		}
		return null;
	}

}

 

package org.nutz.mvc.view;

import org.nutz.ioc.Ioc;
import org.nutz.log.Log;
import org.nutz.log.Logs;
import org.nutz.mvc.View;
import org.nutz.mvc.ViewMaker;

/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月20日 下午4:42:49
 *
 * desc: ...
 */
public class JPEGViewMaker implements ViewMaker {
	private static final Log log = Logs.getLog(JPEGViewMaker.class);

	@Override
	public View make(Ioc ioc, String type, String value) {
		//log.debugf("Type:%s,Value:%s", type, value);
		if ("jpg".equalsIgnoreCase(type)) {
			return new JPEGView("image/jpeg");
		}
		return null;
	}

}

 

 

<ioc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="nutz-ioc-0.1.xsd">

	<obj name="dataSource" type="org.apache.tomcat.jdbc.pool.DataSource">
		<events>
			<depose>close</depose>
		</events>
		<field name="driverClassName">
			<str>com.mysql.jdbc.Driver</str>
		</field>
		<field name="url">
			 <str>jdbc:mysql://localhost:3306/database?useUnicode=true&amp;characterEncoding=UTF-8&amp;rewriteBatchedStatements=true&amp;useLocalSessionState=true</str>  
		</field>
		<field name="username">
			<str>root</str>
		</field>
		<field name="password">
			<str>root</str>
		</field>
		<!-- *****************************TestDataBase***************************** -->
		<field name="maxActive">
			<int>500</int>
		</field>
		<field name="initialSize">
			<int>30</int>
		</field>
		<field name="maxWait">
			<int>15000</int>
		</field>
		<field name="defaultAutoCommit">
			<bool>true</bool>
		</field>
		<field name="testOnBorrow">
			<bool>true</bool>
		</field>
		<field name="validationQuery">
			<str>select 1 from dual</str>
		</field>
	</obj>

	<obj name="dao" type="org.nutz.dao.impl.NutDao">
		<args>
			<refer>dataSource</refer>
		</args>
	</obj>
</ioc>

 

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>NutDemo</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <filter>
    <filter-name>nutz</filter-name>
    <filter-class>org.nutz.mvc.NutFilter</filter-class>
    <init-param>
      <param-name>modules</param-name>
      <param-value>com.curiousby.nut.MainModule</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>nutz</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
</web-app>

 

 

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ include file="../common/taglibs.jsp"%>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>个人客户</title>
<link href="../css/base.css" rel="stylesheet" type="text/css">
<link href="../css/main.css" rel="stylesheet" type="text/css">
<link href="../css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="../css/daterangepicker-bs3.css" rel="stylesheet" type="text/css">
</head>
<body>
	<div class="cnt_box">
		<h2 class="cnt_title mg_b10">用户管理</h2>
		
		<p class="searchwrap2 clearfix">
			<span class="txtblock">用户名:</span> 
			<input class="input_chs" type="text" id="userName" /> 
			
		</p>
		<table class="atdc_list mg_b10" width="100%">
			<thead>
				<tr>
					<th width="10%">序号</th>
					<th width="11%">用户名</th>
					<th width="13%">密码</th>
					<th width="18%">电话</th>
					<th width="9%">性别</th>
					<th width="19%">描述</th>
					<th width="11%">操作</th>
				</tr>
			</thead>
			<tbody>
			</tbody>
		</table>
		<div class="pd_5 fnt_14 clearfix" id="colseDiv">

        <p class="fr page pagination" id="Pagination">
        </p>
		</div>

	</div>
	<script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
	<script type="text/javascript" src="../js/moment.js"></script>
	<script type="text/javascript" src="../js/daterangepicker.js"></script>
	<script type="text/javascript" src="../js/common.js"></script>
	<script type="text/javascript">
	    var pageCount,tbodyHtml;
		$(function() {
			initPage(1);
		});
		function pageselectCallback(page_index, jq) {
			alert("pageselectCallback");
			view(page_index + 1);
			$(".atdc_list tbody").html(tbodyHtml);
			tbodyHtml = "";
			return false;
		}
		function initPage(pageNumber) {
			view(pageNumber);
			$("#Pagination").pagination(pageCount, {
				num_edge_entries : 1, //边缘页数
				num_display_entries : 4, //主体页数
				callback : pageselectCallback,
				items_per_page : 1
			//每页显示1项
			});
		}
		function view(pageNumber) { 
			var userName = "";
			userName = $("#userName").val();
			
			var state = "";
			state = $("input[name='state1']:checked,input[name='state2']:checked").map(function(index, elem) {
						return $(elem).val();
			}).get().join(",");

			tbodyHtml = "";
			$.ajax({
				type : "POST",
				url : "${ctx}/user/personList",
				async : false,
				data : "pageNumber=" + pageNumber + "&startTime=" + times + "&endTime=" + timee + "&phone=" + phone + "&state=" + state,
				dataType : "json",
				success : function(data) {
					pageCount = data.pageCount;
					if (("") != data.list) {
						$.each(data.list,function(i, item) {
							//alert(item.phone);
							//alert(item.createtime);
							//alert(item.password);
							//alert(item.userstate);
													
							var phone = item.phone;
							var username;
							if(null != item.username || undefined != item.username){
								username = item.username;
							}else{
								username ='';
							}
							var password = item.password;
							var userstate = item.userstate;
							var email = item.email;
							if(null != item.email || undefined != item.email){
								email = item.email;
							}else{
								email ='';
							}

							var reg = new RegExp("-","gi");
							var create;
							if (null != item.createtime || undefined != item.createtime) {
								create = item.createtime.substring(0,10).replace(reg,".");
							} else {
								create = '';
							}
					
							tbodyHtml+='<tr>'
								+'<td>'+(i+1)+'</td>'
								+'<td>'+phone+'</td>'
								+'<td>'+create+'</td>'
								+'<td>'+email+'</td>'
								+'<td>'+username+'</td>'
								+'<td>'+password+'</td>'
							if(userstate == 0){
								tbodyHtml+='<td>开通</td>'
							}
							if(userstate == 1){
								tbodyHtml+='<td>停用</td>'
							}
							tbodyHtml+='<td class="alignleft"><a href="${ctx}/user/toPersonView?phone='+item.phone+'">查看</a><a href="${ctx}/user/toPersonEdit?phone='+item.phone+'">编辑</a></td>'
							tbodyHtml+="</tr>"
							//alert(tbodyHtml);
						
						});
					} else {
							tbodyHtml += "<tr><td colspan='9'>未查询到符合条件的个人客户</td></tr>";
							$("#colseDiv").hide();
					}
					$(".atdc_list tbody").html(tbodyHtml);
			   }

	      });
	}
		
	</script>
</body>
</html>

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

分享到:
评论

相关推荐

    nutzdemo

    【nutzdemo】是一个基于Nutz框架的示例项目,从SVN版本控制系统中下载并进行打包备份。Nutz是一个全面、轻量级且高效的Java开发框架,它旨在简化开发流程,提高开发效率。这个项目可能包含了用于演示Nutz框架各种...

    ztree与nutz简单使用

    《ztree与nutz在实际应用中的简单使用详解》 在IT行业中,高效地管理和操作数据是至关重要的。zTree和Nutz都是在这方面提供强大支持的工具。zTree是一款基于JavaScript的灵活、强大的树状菜单插件,而Nutz则是一个...

    nutz应用示例

    Nutz是一个轻量级、高性能的Java开发框架,它提供了丰富的功能来支持Web应用程序的开发。这个名为"Nutz应用示例"的项目旨在帮助开发者更好地理解和使用Nutz框架。在这个项目中,我们可以看到一个基本的Nutz应用是...

    nutz使用手册

    【Nutz 使用手册】是关于一个Java开发框架的...要深入学习Nutz框架,建议阅读Nutz.Dao的完整文档,了解所有支持的注解,并在Nutz的Demo Site上查找相关示例代码,以更好地理解和应用Nutz框架在实际项目中的各种功能。

    Nutz+ExtJS示例教程——后台Service实现

    压缩包中的`Nutz_ExtJS_Demo`可能包含了Nutz后端的Service实现代码,以及ExtJS前端的示例应用。通过查看这些代码,你可以更好地理解Nutz和ExtJS是如何协同工作的。 7. **工具的运用** 开发过程中,可能会用到诸如...

    nutz:Nutz-适用于所有Java开发人员的Web框架(MvcIocAopDaoJson)

    项目目标 在力所能及的情况下,嵌入的提高Java开发人员的能力。 谈话很便宜。 给我看看代码!...建造一个demo有何不可?入门从这里开始 注释就是这么全 Nutz的Java开源企业级开发框架 idea插件 Nutz生态系

    DeskTop-ExtJs4 demo

    标题 "DeskTop-ExtJs4 demo...总的来说,"DeskTop-ExtJs4 demo"是一个利用ExtJs 4构建的桌面式Web应用,采用Nutz框架简化开发流程,并依赖MySQL数据库存储数据。理解这些关键技术对于有效地理解和维护该项目至关重要。

    nutzDao增删改查Demo

    在这个"nutzDao增删改查Demo"中,我们将深入探讨NutzDao如何在J2EE环境中实现模型-视图-控制器(MVC)架构中的数据访问层。 首先,`NutzDao`的核心是其对SQL的支持,它允许开发者通过简单的API来执行复杂的数据库...

    cms-master.zip

    【描述】"用nutz框架开发的cms demo Rk_Cms-master.zip" 暗示了这个压缩包中的内容是Rk_Cms项目的一个主分支版本,它是一个用Nutz框架实现的CMS演示系统。开发者或学习者可以通过这个示例了解如何在实际项目中运用...

    weiHxin_DEMO:2015年6月10日12

    weiHxin_DEMO 2015年6月10日12:54:01 nutz+微信Tool DEMO 未认证 公众号

    easyweb:网络框架

    将spring托管的bean注入到easyweborm: 提供基于nutz的ORM框架,和Easyweb web无缝集成apps: 提供的demo等appdocs: 相关设计说明文档快速入门初始化Easyweb.initialize()常见初始化时机:如果使用了spring模块,则...

    Beetl2.9 中文文档.pdf

    Beetl支持与各种web框架的整合,如SpringMVC、JFinal、Struts、Nutz、Jodd和Servlet等,并且可以支持模板的单独开发和测试。这意味着即使在没有M(模型)和C(控制器)的部分的情况下,也能进行模板的开发和测试。...

    beetl模版引擎文档

    4. 易于整合:Beetl能够轻松地与各种Web框架整合,例如SpringMVC、JFinal、Struts、Nutz、Jodd以及Servlet等。Beetl还支持模板的单独开发和测试,即使没有M(Model)和C(Controller)部分,也能对模板进行开发和...

Global site tag (gtag.js) - Google Analytics