MiniUi框架简单实例

这篇博客是在实习期间在公司写的,公司让用miniui来作为软件开发的前端框架,在学习了一段时间后做一个总结,算是给自己实习的一份小礼物吧。

首先,先来看看效果图,虽然比不上工作经验丰富的同事,但也可借鉴一番!


我设计显示了三个界面,这是第一个界面,只是简单的数据的增删改查界面,是我用来做后面两个界面的练手界面。


这是第二个界面,用来进行新增信息的界面,新增的信息保存后会在第三个界面显示。


这是第三个界面,用来显示表格数据的,同时也可进行修改和删除操作!

上面三张图就是这次要做的内容,希望对miniui新手有帮助!

一:准备篇

1:安装JDK、安装MyEclipse、安装Sqlserver(公司用的数据库)、tomcat7.0。
以上这些都是基础的内容,这里就不赘述了,不知道的度娘吧!
2:建数据库+建表。建数据库就不说了,可自行建立和取名字,给出两张表的数据字典,可以根据数据字典来建表。


这是第一张表,表的名字可以用数据字典上的名字。

这是第二张表,名字也按照数据字典来命名。
3:测试数据。在测试数据库中数据是否可以被MyEclipse获取到时,先在建好的表中添加适量的数据,数据的添加注意字段的类型。
3.1:JDBC连接。写一个TestDB.java类,并写jdbc连接代码。

3.2:在MyEclipse中创建数据库对象并连接。

点击Finish后右键数据库-->Open就可打开你创建的数据库
二:界面篇
1:框架界面,outlookmenu.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'outlookmenu.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	
<!-- 	<link rel="stylesheet" type="text/css" href="styles.css"> -->

	<script type="text/javascript" src="${pageContext.request.contextPath }/scripts/boot.js"></script>
	
	<style type="text/css">
		body{
			 margin:0;padding:0;border:0;width:100%;height:100%;overflow:hidden;
		}
		.header{
			background:url(${pageContext.request.contextPath}/demo/back_color.gif) repeat-x 0 -1px
		}
		.Node{
			background:url(Notes_Large.png)no-repeat;width:32px;height:32px;
		}
		.Reports{
			background:url(Reports_Large.png)no-repeat;width:32px;height:32px;
		}
	</style>
  </head>
  
  <body>
    <div id="layout1" class="mini-layout"  style="width:100%;height:100%">
		<div class="header" region="north" height="70px" showSplit="false" showHeader="false">
			<table align="left">
				<tr>
					<td rowspan="3"><h1 style="margin:0;padding:15px;cursor:default;font-family:'Trebuchet MS',Arial,sans-serif;width:300px">微讯通管理系统</h1>
					</td>
				</tr>
			</table>
			<table align="right">
				<tr align="right">
					<td ><label name="username" class="mini-text">用户名:</label>
					</td>
					<td><input  name="username" id="ls_username" autocomplete="off" class="mini-textbox"  />
					</td>
					<td class="fastlg_l"><input name="cookietime" id="ls_cookietime" class="mini-checkbox" align="center" />自动登录</label>
					</td>
					<td> <a  href="showWindow()">找回密码</a>
					</td>

				</tr>
				<tr>
					<td><label name="password" class="mini-text">密   码:</label>
					</td>
					<td><input  name="password" id="ls_password" class="mini-password"   />
					</td>
					<td ><a class="mini-button" >
						登  录
						</button>
					</td>
					<td> <a href="http://www.miniui.com/bbs/member.php?mod=register" >立即注册</a>
					</td>
				</tr>
			</table>


		</div>
		<div title="south" region="south" showSplit="false" showHeader="false" height="30">
    		<div style="line-height:28px;text-align:center;cursor:default">Copyright © 深圳微讯通软件有限公司版权所有</div>
    	</div>
    	<div region="west" width="180" style="background:#C2D3F0" maxWidth="250" minWidth="100" showHeader="false">
    		<div id="leftTree" class="mini-outlookmenu" url="${pageContext.request.contextPath }/demo/data/outlookmenu.txt" onitemselect="onItemSelect"
    				idField="id" parentField="pid" textField="text" borderStyle="border:0"
    		></div>
    	</div>
    	<div region="center" title="center" bodyStyle="overflow:hidden">
    		<iframe id="mainframe" frameborder="0" name="main" style="width:100%;height:100%" border="0"></iframe>
    	</div>
    </div>
    
    
    <script type="text/javascript">
    
    	mini.parse();
    	
    	//iframe src
    	var iframe = document.getElementById("mainframe");
    	iframe.src = "${pageContext.request.contextPath}/demo/datagrid/Tab.jsp";
    	
    	function onItemSelect(){
    		var item = e.item;
    		iframe.src = item.url;
    	}
    </script>
  </body>
</html>
outlookmenu.txt-->json文件
[
	{ id: "user", text: "用户管理", iconCls: "icon-add"},
	{ id: "addUser", pid: "user", text: "增加用户", iconCls: "icon-add", url: "../datagrid/celledit.html" },
	{ id: "editUser", pid: "user", text: "修改用户", iconCls: "icon-edit", url: "../datagrid/rowedit.html" },
	{ id: "removeUser", pid: "user", text: "删除用户", iconCls: "icon-remove", url: "../datagrid/datagrid.html" },
		
	{ id: "right", text: "权限管理"},
	{ id: "addRight", pid: "right", text: "查询权限", iconCls: "icon-Note", url: "${pageContext.request.contextPath}/demo/tree/detailgrid.html", iconPosition: "top" },
	{ id: "editRight", pid: "right", text: "操作权限", iconCls: "icon-Reports", url: "../buttonedit/selectGrid.html", iconPosition: "top" }		
]

2:数据显示界面,Tab.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
	String masterId = request.getParameter("masterId");
%>

<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<base href="<%=basePath%>">

<title>Tab 表单编辑</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
 
<!-- 	<link rel="stylesheet" type="text/css" href="styles.css"> -->
	 


<script src="${pageContext.request.contextPath}/scripts/boot.js" type="text/javascript"></script>

</head>
<body>
	<div id="tabs1" class="mini-tabs" activeIndex="0" style="width:100%;height:100%;background:#C2D3F0" bodyStyle="padding:0;border:0">
		<div title="用户管理" iconCls="icon-user">
			<style type="text/css">
body {  
	margin: 0;
	padding: 0;
	border: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
</style>
			<div style="width:100%">
				<div class="mini-toolbar" style="border-bottom:0;padding:0px;">
					<table style="width:100%;">
						<tr>
							<td style="width:100%;"><a class="mini-button" iconcls="icon-add" οnclick="addRow1()" plain="true">增加</a> <a class="mini-button" iconcls="icon-remove" οnclick="removeRow1()" plain="true">删除</a>
								<span class="separator"></span> <a class="mini-button" iconcls="icon-save" οnclick="saveData1()" plain="true">保存</a></td>
							<td style="white-space:nowrap;">年月 <input id="birthday" showNullItem="true" class="mini-monthpicker" style="width:120px;" showClearButton="true" onvaluechanged="search1()" /> 国家 <input
								id="countrys" showNullItem="true" class="mini-combobox" style="width:80px;" url="" onvaluechanged="search1()" /> <input id="key" class="mini-textbox" emptytext="请输入姓名"
								style="width:150px;" onenter="search1()" /> <a class="mini-button" οnclick="search1()">查询</a></td>
						</tr>
					</table>
				</div>
			</div>
			<div class="mini-fit">
				<div id="datagrid1" class="mini-datagrid" style="width:100%;height:100%;" url="${pageContext.request.contextPath}/demo/data/AjaxService.jsp?method=SearchEmployeesByMultiSort" idfield="id"
					allowresize="true" pagesize="20" allowcelledit="true" allowcellselect="true" multiselect="true" editnextonenterkey="true" editnextrowcell="true">
					<div property="columns">
						<div type="indexcolumn"></div>
						<div type="checkcolumn"></div>
						<div field="name" width="100" allowsort="true">
							姓名 <input property="editor" class="mini-textbox" minwidth="200" />
						</div>
						<div name="LoginName" field="loginname" headeralign="center" allowsort="true" width="150">
							员工帐号 <input property="editor" class="mini-textbox" minwidth="200" />
						</div>
						<div field="age" width="100" allowsort="true">
							年龄 <input property="editor" class="mini-spinner" minvalue="0" maxvalue="200" value="25" />
						</div>
						<div name="birthday" field="birthday" width="100" allowsort="true" dateformat="yyyy-MM-dd">
							出生日期 <input property="editor" class="mini-datepicker" />
						</div>
						<div field="remarks" width="120" headeralign="center" allowsort="true">
							备注 <input property="editor" class="mini-textarea" style="width:200px;" minwidth="200" minheight="50" />
						</div>
						<!--ComboBox:本地数据-->
						<div type="comboboxcolumn" autoshowpopup="true" name="gender" field="gender" width="100" allowsort="true" align="center" headeralign="center">
							性别 <input property="editor" class="mini-combobox" data="Genders" />
						</div>
						<!--ComboBox:远程数据-->
						<div type="comboboxcolumn" field="country" width="100" headeralign="center">
							国家 <input property="editor" class="mini-combobox" url="${pageContext.request.contextPath}/demo/data/countrys.txt" />
						</div>
						<div type="checkboxcolumn" field="married" truevalue="1" falsevalue="0" width="60" headeralign="center">婚否</div>
					</div>
				</div>
			</div>
		</div>
	<div title="新增管理" iconCls="icon-add">
			<style type="text/css">
		html,body {
			margin: 0;
			padding: 0;
			border: 0;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
		</style>
		<div style="mini-fit" id="form1">
			<div class="mini-toolbar" style="border-bottom:0;padding:0px;">
				<table>
					<td style="width:100%;"><a class="mini-button" iconcls="icon-save" οnclick="saveData2()" plain="true">保存</a> <a class="mini-button" iconcls="icon-remove" οnclick="removeRow2()" plain="true">关闭</a>
					</td>
				</table>
			</div>
			<div style="width:100%;height:100%;">
				<table style="width: 800px">
					<tr style="width: 800px">
						<td><label style="float:right;">流水号:</label></td>
						<td style="width: 220px"><input type="hidden" id="JyId" name="Jyid" style="width: 220px" class="mini-textbox" /> </td>
						<td><label style="float:right;">控制人:</label></td>
						<td><input id="control" name="control" textName="control" class="mini-buttonedit" required="true" /></td>
						<td><label style="float:right;">归档:</label></td>
						<td><input id="archive" name="archive" textName="archive" class="mini-buttonedit" class="mini-textbox" /></td>
					</tr>
					<tr>
						<td><label style="float:right;">版本号:</label></td>
						<td><input id="version" style="width:220px" textName="version" name="version" class="mini-buttonedit" /></td>
						<td><label style="float:right;">编号:</label></td>
						<td><input id="number" name="number" class="mini-textbox" />
						</td>
						<td><label style="float:right;">年度:</label></td>
						<td><input name="year" class="mini-combobox" showNullItem="true" emptytext="请选择年份" textField="text" valueField="id" data="yearData" /></td>
					</tr>
					<tr>
						<td><label style="float:right;">生效日:</label></td>
						<td colspan="5"><input id="attachDate" style="width: 220px" name="attachDate" class="mini-datepicker" /></td>
					</tr>
					<tr style="height: 40px">
						<td style="width:60px;" align="right">检验项目:</td>
						<td colspan="2"><input id="testProject" name="testProject" textName="testProject" class="mini-buttonedit" height="50" style="width: 100%" /></td>
						<td style="width:60px;" align="right">分析仪器:</td>
						<td colspan="2"><input id="analyze" name="analyze" textName="analyze" class="mini-buttonedit" height="50" style="width: 100%" /></td>
					</tr>
					<tr style="height: 40px">
						<td><label style="float:right;">新批号:</label></td>
						<td colspan="2"><input id="newBeach" name="newBeach" class="mini-textbox" style="width: 100%" /></td>
						<td><label style="float:right;">旧批号:</label></td>
						<td colspan="2"><input id="oldBeach" name="oldBeach" class="mini-textbox" style="width: 100%" /></td>
					</tr>
					<tr style="height: 50px">
						<td style="width:60px;" align="right">判断标准:</td>
						<td colspan="5"><input id="judge" name="judge" textName="judge" class="mini-buttonedit" height="50" style="width: 100%" /></td>
					</tr>
					<tr style="height: 50px">
						<td style="width:60px;" align="right">对比方案:</td>
						<td colspan="5"><input id="comparison" name="comparison" textName="comparison" class="mini-buttonedit" height="50" style="width: 100%" /></td>
					</tr>
				</table>
			</div>
		</div>
		<div class="mini-fit">
			<div class="mini-toolbar" style="border-bottom:0;padding:0px;">
				<table style="width:100%;">
					<tr>
						<td style="width:100%;"><a class="mini-button" iconcls="icon-add" οnclick="addRow2()" plain="true">新增</a></td>
					</tr>
				</table>
			</div>
			<div id="datagrid2" class="mini-datagrid" style="width:100%;height:350px;" editnextonenterkey="true" editnextrowcell="true" showPager="false" allowcellselect="true" multiselect="true"
				allowresize="true" fitColumns="false" allowcelledit="true">
				<div property="columns">
					<div type="indexcolumn">序号</div>
					<div type="checkcolumn"></div>
					<div name="Sample" field="sample" width="130px" allowsort="true" headeralign="center">
						<b>样本标识或条码号</b> <input property="editor" class="mini-textbox" />
					</div>
					<div field="oldx" vtype="required;float" headeralign="center" width="100px">
						<b>旧(Y)(%)</b> <input property="editor" class="mini-textbox" />
					</div>
					<div field="newx" vtype="required;float" headeralign="center" width="100px">
						<b>新(X)(%)</b> <input property="editor" class="mini-textbox" />
					</div>
					<div field="absolute" width="180px" type="required;float" headeralign="center">
						<b>X-Y/Y*100%绝对值或符合性</b> <input property="editor" class="mini-textbox" />
					</div>
					<div field="scope" headeralign="center" width="180px">
						<b>可接受范围(1/2TEa或符合率)</b> <input property="editor" class="mini-textbox" />
					</div>

				</div>
			</div>
			<div class="mini-fit" id="form1">
				<table style="width: 800px">
					<tr style="width: 800px">
						<td align="left" colspan="2" style="width: 120px">结论</td>
						<td style="width: 115px">
							<div id="cbl1" class="mini-checkboxlist" repeatItems="1" repeatLayout="table" textField="text" valueField="id" multiSelect="false" data="das"></div></td>
						<td colspan="3" style="width:360px" valign="bottom">(描述:<input id="Conclusion" name="Conclusion" class="mini-text" style="border:0px;width: 90%" />)</td>
					</tr>
					<tr style="width: 800px">
						<td align="left">分析人:</td>
						<td style="width: 100px"><input class="mini-buttonedit" name="analysisPeople" height="50" style="width: 100%" /></td>
						<td>签名:</td>
						<td><input class="mini-buttonedit" name="Remark1" height="50" style="width: 100%" /></td>
						<td>分析日期:</td>
						<td><input class="mini-datepicker" name="analysisTime" height="50" style="width: 100%" format="yyyy-MM-dd" /></td>
					</tr>
					<tr style="width: 800px">
						<td align="left">审核者:</td>
						<td style="width: 100px"><input class="mini-buttonedit" name="audit" height="50" style="width: 100%" /></td>
						<td>组长:</td>
						<td><input class="mini-buttonedit" name="Remark1" height="50" style="width: 100%" /></td>
						<td>审核日期:</td>
						<td><input class="mini-datepicker" name="auditTime" height="50" style="width: 100%" format="yyyy-MM-dd" /></td>
					</tr>
				</table>
			</div>
		</div>
		</div>
		<div title="查询管理" showCloseButton="true" iconCls="icon-search">
			<style type="text/css">
			.New_Button,.Edit_Button,.Delete_Button,.Update_Button,.Cancel_Button {
				font-size: 11px;
				color: #1B3F91;
				font-family: Verdana;
				margin-right: 5px;
			}
			</style>
			<div class="mini-fit">
				<div class="mini-toolbar" style="border-bottom:0;padding:0px;">
					<table style="width:100%;">
						<tr>
							<td style="white-space:nowrap;">年度 <input id="year2" showNullItem="true" align="center" data="yearData" width="100px"class="mini-combobox"  onvaluechanged="search3()" /> 版本号 <input
								id="version" showNullItem="true" width="80px" class="mini-combobox" data="varsionData" onvaluechanged="search3()" /> <input id="key2" class="mini-textbox" emptytext="请输入控制人" style="width:150px;"
								onenter="search3()" /> <a class="mini-button" οnclick="search3()">查询</a></td>
							<td style="width:100%;"><a class="mini-button" iconcls="icon-search" οnclick="search3()" plain="true">刷新</a></td>
						</tr>
					</table>
				</div>
				
				
				<div id="datagrid3" class="mini-datagrid" style="width:100%;height:420px;" editnextonenterkey="true" editnextrowcell="true" showPager="true" allowcellselect="true" multiselect="true"
					allowresize="true" pagesize="10" fitColumns="false"  onselectionchanged="onSelectionChanged"   selectOnLoad="true" allowcelledit="true" 
					url="${pageContext.request.contextPath}/demo/data/AjaxService2.jsp?method=SearchEmployeesByMultiSort">
					<div property="columns">
						<div  field="JyId" width="120"  visible="true" >	ID					
						</div>
						<div name="action" width="120" headerAlign="center" align="center" renderer="onActionRenderer" cellStyle="padding:0;">
							<b>操作</b>
						</div>
						<div name="Number" field="Number" width="130px" allowsort="true" headeralign="center">
							<b>编号</b> <input class="mini-textbox" />
						&
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值