文件目录结构
open="" /*可选, 循环的开始符号*/
close="" /*可选, 循环的结束符号*/
prepend="" /*可选, 加在open指定的符号之前的符号*/
数据库中的内容:
SELECT * FROM employeesystem.work;
use employeesystem;
truncate table work;/*清除数据表数据*/
insert into work values('1001','usual','2019-3-4','2019-4-4','workNeed','1001','2019-4-3',2,2,'agree',1002,'on');
insert into work values('1002','usual','2019-3-4','2019-4-4','workNeed','1002','2019-4-3',2,2,'agree',1001,'on');
insert into work values('1003','usual','2019-3-12','2019-5-4','workf','1003','2019-4-3',2,2,'agree',1002,'on');
insert into work values('1004','usual','2019-3-28','2019-7-4','workd','1001','2019-5-3',2,1,'agree',1003,'on');
/*批量更新*/
update work set isWork='on' where workId=1001 or workId=1002 or workId=1003 or workId=1004;
update work set isWork="true" where workId in (1001,1002);
update work set isWork='true' where
workId=1001 or workId=1002;
Test123.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="test123">
<typeAlias alias="test123" type="com.empmanager.entity.Test123" />
<typeAlias alias="queryBy" type="com.empmanager.entity.QueryBy" />
<select id="queryWork" resultClass="test123">
<![CDATA[
select workId,id,Name,dept,level,workType, applyDate,workTime,clerkReason,wcId
from clerk,work where clerk.id=work.wcid and isWork='on';
]]>
</select>
<select id="queryDept" resultClass="java.util.List">
select distinct dept from clerk;
</select>
<!-- 动态查询 -->
<select id="queryBy" parameterClass="queryBy" resultClass="test123">
select workId,id,Name,dept,level,workType, applyDate,
workTime,clerkReason,wcId from clerk,work where clerk.id=work.wcid and isWork='on'
<isNotEmpty prepend="and" property="dept">
dept = #dept#
</isNotEmpty>
<isNotEmpty prepend="and" property="applyDate">
applyDate = #applyDate#
</isNotEmpty>
<isNotEmpty prepend="and" property="name">
name = #name#
</isNotEmpty>
<isNotEmpty prepend="and" property="level">
level = #level#
</isNotEmpty>
<isNotEqual prepend="and" property="payRatio"
compareValue="0">
payRatio = #payRatio#
</isNotEqual>
<isNotEmpty prepend="and" property="workType">
workType = #workType#
</isNotEmpty>
;
</select>
<!-- 批量更新数据 -->
<update id="workIds" parameterClass="java.util.List">
update work set isWork='true' where
<iterate conjunction="or">
workId=#workIds[]#
</iterate>
;
</update>
<!-- 批量更新数据方法2 -->
<update id="cancelIds" parameterClass="java.util.List">
update work set isWork='false' where workId in
<iterate open="(" close=")" conjunction=",">
#workIds[]#
</iterate>
;
</update>
</sqlMap>
Test123Action.java
package com.empmanager.action;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.empmanager.entity.QueryBy;
import com.empmanager.entity.Test123;
import com.empmanager.service.Test123Service;
import com.opensymphony.xwork2.ActionContext;
public class Test123Action{
HttpServletRequest request;
private Test123Service test123service;
public List<Test123> list=null;
private QueryBy queryBy;
String result;
List<Integer> workIds;
public Test123Service getTest123service() {
return test123service;
}
public void setTest123service(Test123Service test123service) {
this.test123service = test123service;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public List<Test123> getList() {
return list;
}
public void setList(List<Test123> list) {
this.list = list;
}
public QueryBy getQueryBy() {
return queryBy;
}
public void setQueryBy(QueryBy queryBy) {
this.queryBy = queryBy;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public List<Integer> getWorkIds() {
return workIds;
}
public void setWorkIds(List<Integer> workIds) {
this.workIds = workIds;
}
public String selectAll() throws Exception {
list = test123service.queryWork();
for (Test123 test123wc : list) {
System.out.println(test123wc);
}
ActionContext.getContext().put("list", list);
return "success";
}
public String execute() throws Exception {
System.out.println(test123service.queryWork());
return "success";
}
public String queryBy() throws Exception {
System.out.println("queryBy()");
System.out.println("queryBy:"+queryBy.toString());
list=test123service.queryBy(queryBy);
System.out.println("list:"+list.size());
for (Test123 test123wc : list) {
System.out.println(test123wc);
}
ActionContext.getContext().put("list",list);
return "success";
}
public String updateId(){
List<Test123> listToWeb=null;
String ids=ServletActionContext.getRequest().getParameter("ids");
workIds=new ArrayList<Integer>();
System.out.println("ids:"+ids);
JSONArray d = JSON.parseArray(ids);//json转化为数组对象
d.size();
System.out.println("d.size():"+d.size());
for(int i=0;i<d.size();i++){
System.out.println(d.get(i));
String workId=d.get(i).toString();
workIds.add(Integer.parseInt(workId));
}
for(int wd:workIds){
System.out.println("wd:"+wd);
}
try {
listToWeb=test123service.updateId(workIds);
} catch (Exception e) {
System.out.println("updateId() error!!!");
e.printStackTrace();
}
System.out.println("\n");
for(Test123 l:listToWeb){
System.out.println(l.toString());
}
// System.out.println("更新数据条数:"+updateNum);
result=JSON.toJSONString(listToWeb);
return "success";
}
public String cancelId(){
String ids=ServletActionContext.getRequest().getParameter("ids");
workIds=new ArrayList<Integer>();
System.out.println("ids:"+ids);
JSONArray d=JSON.parseArray(ids);//json转化为数组对象
d.size();
System.out.println("d.size():"+d.size());
for(int i=0;i<d.size();i++){
System.out.println(d.get(i));
String workId=d.get(i).toString();
workIds.add(Integer.parseInt(workId));
}
for(int wd:workIds){
System.out.println("wd:"+wd);
}
try {
list=test123service.cancelId(workIds);
} catch (SQLException e) {
System.out.println("cancelId() error!!!");
e.printStackTrace();
}
// System.out.println("更新数据条数:"+updateNum);
result=JSON.toJSONString(list);
return "success";
}
public String jumpToTest124(){
System.out.println("jumpToTest124");
/*获取数据*/
String getWorkId=ServletActionContext.getRequest().getParameter("workId");
System.out.println("getWorkId:"+getWorkId);
result=JSON.toJSONString("Ok");
return "success";
}
public String jumpTo(){
System.out.println("jumpTo");
return "success";
}
}
service
package com.empmanager.service;
import java.sql.SQLException;
import java.util.List;
import com.empmanager.entity.QueryBy;
import com.empmanager.entity.Test123Wc;
public interface Test123Service {
public List<Test123Wc> queryWork() throws SQLException;
public List<Test123Wc> queryBy(QueryBy queryBy) throws SQLException;
public void updateId(List<Integer> workIds) throws SQLException;
public void cancelId(List<Integer> workIds) throws SQLException;
}
Test123ServiceImpl
package com.empmanager.service.impl;
import java.sql.SQLException;
import java.util.List;
import com.empmanager.dao.Test123Dao;
import com.empmanager.entity.QueryBy;
import com.empmanager.entity.Test123;
import com.empmanager.service.Test123Service;
public class Test123ServiceImpl implements Test123Service{
private Test123Dao test123dao;
public void setClerkDao(Test123Dao test123dao) {
this.test123dao = test123dao;
}
public Test123Dao getTest123dao() {
return test123dao;
}
public void setTest123dao(Test123Dao test123dao) {
this.test123dao = test123dao;
}
@Override
public List<Test123> queryWork() throws SQLException {
return test123dao.queryWork();
}
@Override
public List<Test123> queryBy(QueryBy queryBy) throws SQLException {
return test123dao.queryBy(queryBy);
}
@Override
public List<Test123> updateId(List<Integer> workIds) {
List<Test123> list=null;
try {
if(workIds.size()!=0){
test123dao.updateId(workIds);
list=test123dao.queryWork();
}
else{
list=test123dao.queryWork();
return list;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
@Override
public List<Test123> cancelId(List<Integer> workIds){
List<Test123> list=null;
try {
if(workIds.size()!=0){
test123dao.cancelId(workIds);
list=test123dao.queryWork();
}
else{
list=test123dao.queryWork();
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
@Override
public List<String> queryDept(){
List<String> depts = null;
try {
depts = test123dao.queryDept();
System.out.println("depts.length:"+depts.size());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return depts;
}
}
Test123Dao
package com.empmanager.dao;
import java.sql.SQLException;
import java.util.List;
import com.empmanager.entity.QueryBy;
import com.empmanager.entity.Test123;
public interface Test123Dao{
public List<Test123> queryWork() throws SQLException;
public List<Test123> queryBy(QueryBy queryBy) throws SQLException;
public void updateId(List<Integer> workIds) throws SQLException;
public void cancelId(List<Integer> workIds) throws SQLException;
public List<String> queryDept() throws SQLException;
}
Test123DaoImpl
package com.empmanager.dao.impl;
import java.sql.SQLException;
import java.util.List;
import com.empmanager.dao.Test123Dao;
import com.empmanager.entity.QueryBy;
import com.empmanager.entity.Test123;
import com.ibatis.sqlmap.client.SqlMapClient;
public class Test123DaoImpl implements Test123Dao{
private SqlMapClient sqlClient;
public void setSqlClient(SqlMapClient sqlClient) {
this.sqlClient = sqlClient;
}
@Override
public List<Test123> queryWork() throws SQLException {
return sqlClient.queryForList("test123.queryWork");
}
@Override
public List<Test123> queryBy(QueryBy queryBy) throws SQLException {
// TODO Auto-generated method stub
return sqlClient.queryForList("test123.queryBy",queryBy);
}
// @Override
// public void updateId(Integer[] workIds) throws SQLException {
// sqlClient.update("c.workIds", workIds);
//
// }
@Override
//通过id更新数据
public void updateId(List<Integer> workIds) throws SQLException{
sqlClient.update("test123.workIds", workIds);
}
@Override
//通过id更新数据
public void cancelId(List<Integer> workIds) throws SQLException {
sqlClient.update("test123.cancelIds",workIds);
}
@Override
public List<String> queryDept() throws SQLException {
return sqlClient.queryForList("test123.queryDept");
}
}
entity
package com.empmanager.entity;
public class Test123 {
int workId;
int id;
String name;
String dept;
String level;
String workType;
String applyDate;
double workTime;
String clerkReason;
String isWork;
public int getWorkId() {
return workId;
}
public void setWorkId(int workId) {
this.workId = workId;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getWorkType() {
return workType;
}
public void setWorkType(String workType) {
this.workType = workType;
}
public String getApplyDate() {
return applyDate;
}
public void setApplyDate(String applyDate) {
this.applyDate = applyDate;
}
public double getWorkTime() {
return workTime;
}
public void setWorkTime(double workTime) {
this.workTime = workTime;
}
public String getClerkReason() {
return clerkReason;
}
public void setClerkReason(String clerkReason) {
this.clerkReason = clerkReason;
}
public String getIsWork() {
return isWork;
}
public void setIsWork(String isWork) {
this.isWork = isWork;
}
@Override
public String toString() {
return "Test123Wc [workId=" + workId + ", id=" + id + ", name=" + name
+ ", dept=" + dept + ", level=" + level + ", workType="
+ workType + ", applyDate=" + applyDate + ", workTime="
+ workTime + ", clerkReason=" + clerkReason + ", isWork="
+ isWork + "]";
}
}
db.properties
#url=jdbc:postgresql://10.167.23.40:5432/CBS_DB?currentSchema=cbsksch1
#driverClass=org.postgresql.Driver
#username=postgres
#password=postgres
url=jdbc:mysql://localhost:3306/employeesystem
driverClass=com.mysql.jdbc.Driver
username=root
password=123456
applicationContext.html
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<context:property-placeholder location="classpath:db.properties" />
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driverClass}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
<property name="maxActive" value="30"></property>
<property name="maxIdle" value="10"></property>
<property name="minIdle" value="5"></property>
<property name="maxWait" value="5000"></property>
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="test123dao" class="com.empmanager.dao.impl.Test123DaoImpl">
<property name="sqlClient" ref="sqlMapClient"/>
</bean>
<bean id="test123service" class="com.empmanager.service.impl.Test123ServiceImpl">
<property name="test123dao" ref="test123dao"></property>
</bean>
<bean id="test123Action" class="com.empmanager.action.Test123Action">
<property name="test123service" ref="test123service"></property>
</bean>
</beans>
struts.xml,还未完成,正在修改中
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 扩展名设置 -->
<constant name="struts.action.extension" value="do" />
<!-- spring装配工场 -->
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="EMP" extends="struts-default, json-default" namespace="/">
<!-- <action name="Test123_emp" method="execute"
class="com.empmanager.action.Test123Action">
<result name="success">jsp/TEST123.jsp</result>
</action> -->
<action name="Test123_emp" method="selectAll"
class="com.empmanager.action.Test123Action">
<result name="success">jsp/TEST123.jsp</result>
</action>
<action name="queryBy" method="queryBy"
class="com.empmanager.action.Test123Action">
<result name="success">jsp/TEST123.jsp</result>
</action>
<action name="updateId" method="updateId"
class="com.empmanager.action.Test123Action">
<result name="success" type="json">
<param name="root">result</param>
</result>
</action>
<action name="cancelId" method="cancelId" class="com.empmanager.action.Test123Action">
<result name="success" type="json">
<param name="root">result</param>
</result>
</action>
<action name="jumpToTest124" method="jumpToTest124"
class="com.empmanager.action.Test123Action">
<result name="success" type="json">
<param name="root">result</param>
</result>
</action>
<action name="jumpTo" method="jumpTo"
class="com.empmanager.action.Test123Action">
<result name="success">jsp/Test124.jsp</result>
</action>
</package>
</struts>
sqlMapConfig
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="64" maxSessions="20"
maxTransactions="10" useStatementNamespaces="true" />
<sqlMap resource="com/empmanager/sqlMap/Test123.xml"/>
</sqlMapConfig>
jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<link type="text/css" rel="stylesheet" href="css/TEST123.css">
</head>
<script type="text/javascript" src="js/jquery-3.0.0.min.js"></script>
<script type="text/javascript" src="js/test123.js"></script>
<style type="text/css">
#all{
background-color:#f8faf1;
margin:0 auto;
padding:0;
width:80%;
height:auto;
}
#top-right{
float:right;
margin-top:10px;
font-size:12px;
padding:10px;
}
#titletop{
height:50px;
}
#title{
background-color:#e8eae1;
font-size:25px;
width:20%;
height:20px;
margin-top:10px;
padding-top:10px;
}
#table{
text-align:center;
border:1px solid #111;
width:90%;
margin:10px auto;
padding:1px;
border-collapse:collapse;
}
#top{
border:1px solid #111;
border-radius:15px;
margin:15px;
padding:20px;
}
#d2{
height:500px;
width:90%;
text-align:center;
border:1px solid #111;
margin:0 auto;
}
#thr th{
border:0.1px solid #123;
cellpadding:5;
}
#d3{
height:100px;
margin:10px;
padding:2px;
}
#restore{
float:right;
margin:10px;
padding:2px;
}
#lable{
padding-right:30px;
}
.button{
background-color:#8ac007;
font-size:16px;
cursor: pointer;
text-align: center;
border: none;
color: white;
box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
text-decoration: none;
display: inline-block;
border: none;
color: white;
}
</style>
<body>
<div id="all">
<div>
<div id="titletop">
<lable id="title">残業一括承認</lable>
<lable id="top-right"> 登録者ID:登録者名前 <input type="button"
value="ログアウト" class="button" /> </lable>
</div>
<div id="top">
<form action="queryBy.do" method="post">
<lable id="lable"> 残業日:<input type="text" name="queryBy.applyDate"/>
残業者:<input type="text" name="queryBy.name"/>
部門:<select name="queryBy.dept" >
<option></option>
<option>peo</option>
<option>per</option>
</select>
級別:<select name="queryBy.level">
<option></option>
<option>peo</option>
<option>per</option>
</select> <br />
<br />
残業係数:<input type="text" name="queryBy.payRatio"/>
残業種別:<select name="queryBy.workType">
<option></option>
<option>usual</option>
<option>unusual</option>
</select> <input type="button" value="クリア" class="button" onclick="clc();"/>
<input type="submit" value="検索" class="button" /> </lable>
</form>
</div>
</div>
<div id="d2">
<table id="table">
<thead>
<tr id="thr">
<td> </td>
<td>社員ID</td>
<td>名前</td>
<td>部門</td>
<td>級別</td>
<td>残業種別</td>
<td>申請日</td>
<td>申請時間</td>
<td>申請理由</td>
<td></td>
</tr>
</thead>
<tbody id="t_body">
<center>
<s:iterator value="list" status="li">
<tr class="workId" value="<s:property value="workId" />">
<td><input type="checkbox" name="choice" class="checknum" /></td>
<td><s:property value="id" /></td>
<td><s:property value="name" /></td>
<th class="dept"><s:property value="dept" /></td>
<td><s:property value="level" /></td>
<td><s:property value="workType" /></td>
<td><s:property value="applyDate" /></td>
<td><s:property value="workTime" /></td>
<td><s:property value="clerkReason" /></td>
<td><input type="button" value="詳細" id="detail" class="button" onclick="detail(this);"/></td>
</tr>
</s:iterator>
</center>
</tbody>
</table>
</div>
<div id="d3">
<input type="button" value="全选" class="button" id="selectAllBtn"
onclick="selectAll();" /> <input type="button" value="全取消"
class="button" id="cancelAllBtn" onclick="cancelAll();" />
<input type="button" value="一键同意" class="button" onclick="selectSome();"/>
<input type="button" value="一键否决" class="button" onclick="cancelSome();"/>
<div id="restore">
<input type="button" value="返回" class="button" onclick="javascript:history.back(-1)"/><!--返回上一页面--!>
</div>
</div>
</div>
</body>
</html>
test123.js
$(document).ready(function() {
/* 获取所有tr的value值 */
var depts=[];
$("#t_body").find("tr").each(function(i) {
console.log("valueFind:" + $(this).attr("value"));//获取tbody下tr的value值
console.log($(this).find(".dept").text());//获取tbody下dept的内容值
depts[i]=$(this).find(".dept").text();
});
for(var i=0;i<depts.length;i++){
console.log("[dept"+i+"]:"+depts[i]);
}
var ndept=uniq(depts);
for(var i=0;i<ndept.length;i++){
console.log("[ndept"+i+"]:"+ndept[i]);
}
});
/*点击详细跳转*/
function detail(deti){
console.log("detail junp:");
var id=$(deti).parents("tr").attr("value");//获取deti节点的父节点为tr的value值
console.log("detail j:"+$(deti).parents("tr").attr("value"));
var workId=JSON.stringify(id);
console.log("workId:"+workId);
window.location.href ="jumpTo.do?workId="+workId;
/*方法二*/
/*$.ajax({
"url":"jumpToTest124.do",
"type":"post",
"data":{"workId": workId},
"dataType":"json",
"success" : function(result) {
console.log("successful:"+result);
console.log(result=="Ok");
window.location.href ="jumpTo.do";
}
});*/
}
function selectSome() {
/* 获取被选中的对象这一行的value值 */
console.log()
var checkId = [];
var ids = [];
$("#t_body").find("input:checkbox:checked").each(function(i) {
checkId[i] = $(this).parents("tr").attr("value");
console.log("checkedId:" + checkId[i]);
});
var ids = JSON.stringify(checkId);
console.log(ids);
$.ajax({
"url" : "updateId.do",
"type" : "post",
"data" : {"ids" : ids},/*ids必须为jason格式*/
"dataType" : "json",
"success" : function(result) {
$("#t_body").html("");
console.log("result:" + result);
var data = eval(result);//解析json对象
console.log(data);//打印data
console.log(data.length);//打印data长度
//将data输出到控制台
for(var i=0;i<data.length;i++){
console.log(data[i]);
console.log(data[i].id);
}
console.log(data);
for(var i=0;i<data.length;i++){
strs=
'<tr class="workId" value="'+data[i].workId+'">'
+'<td><input type="checkbox" name="choice" class="checknum" /></td>'
+'<td>'+data[i].id+'</td>'
+'<td>'+data[i].name+'</td>'
+'<td>'+data[i].dept+'</td>'
+'<td>'+data[i].level+'</td>'
+'<td>'+data[i].workType+'</td>'
+'<td>'+data[i].applyDate+'</td>'
+'<td>'+data[i].workTime+'</td>'
+'<td>'+data[i].clerkReason+'</td>'
+'<td><input type="button" value="詳細" class="button" /></td>'
+'</tr>'
;
$("#t_body").append(strs);
}
}
});
}
/*一键清除input内容*/
function clc(){
$("#top :text").val("");
$("#top select").val("");
}
//数组去重
function uniq(depts){
var index=0;
var flag=true;
var arrays=[];
for(var i=0;i<depts.length;i++){
var dept=depts[i];
if(arrays.length==0){
arrays[index]=dept;
index++;
}else{
for(var j=0;j<arrays.length;j++){
if(dept==arrays[j]){
flag=false;
break;
}
}
if(flag==true){
arrays[index]==dept;
index++;
}
}
}
return arrays;
}
function cancelSome(){
/* 获取被选中的对象这一行的value值 */
var checkId = [];
var ids = [];
$("#t_body").find("input:checkbox:checked").each(function(i) {
checkId[i] = $(this).parents("tr").attr("value");
console.log("checkedId:" + checkId[i]);
});
var ids = JSON.stringify(checkId);
console.log(ids);
$.ajax({
"url" : "cancelId.do",
"type" : "post",
"data" : {"ids" : ids},/*ids必须为jason格式*/
"dataType" : "json",
"success" : function(result) {
$("#t_body").html("");
console.log("result:" + result);
var data = eval( result);
console.log(data);
console.log(data.length);
for(var i=0;i<data.length;i++){
console.log(data[i]);
console.log(data[i].id);
}
console.log(data);
for(var i=0;i<data.length;i++){
console.log("123");
console.log("the data of workId:"+result.workId);//打印workID
strs=
'<tr class="workId" value="'+data[i].workId+'">'
+'<td><input type="checkbox" name="choice" class="checknum" /></td>'
+'<td>'+data[i].id+'</td>'
+'<td>'+data[i].name+'</td>'
+'<td>'+data[i].dept+'</td>'
+'<td>'+data[i].level+'</td>'
+'<td>'+data[i].workType+'</td>'
+'<td>'+data[i].applyDate+'</td>'
+'<td>'+data[i].workTime+'</td>'
+'<td>'+data[i].clerkReason+'</td>'
+'<td><input type="button" value="詳細" class="button" /></td>'
+'</tr>'
;
$("#t_body").append(strs);
}
}
}
);
}
function selectAll() {
var choices = document.getElementsByName("choice");
console.log("长度:" + choices.length);
for (var i = 0; i < choices.length; i++) {
choices[i].checked = true;
}
}
function cancelAll() {
var choices = document.getElementsByName("choice");
console.log("长度:" + choices.length);
for (var i = 0; i < choices.length; i++) {
choices[i].checked = false;
}
}
css
@CHARSET "UTF-8";
#all{
background-color:#f8faf1;
margin:0 auto;
padding:0;
width:80%;
height:auto;
}
#top-right{
float:right;
margin-top:10px;
font-size:12px;
padding:10px;
}
#titletop{
height:50px;
}
#title{
background-color:#e8eae1;
font-size:25px;
width:20%;
height:20px;
margin-top:10px;
padding-top:10px;
}
#table{
text-align:center;
border:1px solid #111;
width:90%;
margin:10px auto;
padding:1px;
}
#top{
border:1px solid #111;
border-radius:15px;
margin:15px;
padding:20px;
}
#d2{
height:500px;
width:90%;
text-align:center;
border:1px solid #111;
margin:0 auto;
}
#thr th{
border:0.1px solid #123;
cellspacing:0;
cellpadding:5;
}
#d3{
height:100px;
margin:10px;
padding:2px;
}
#restore{
float:right;
margin:10px;
padding:2px;
}
#lable{
padding-right:30px;
}
.button{
background-color:#8ac007;
font-size:16px;
cursor: pointer;
text-align: center;
border: none;
color: white;
box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
text-decoration: none;
display: inline-block;
border: none;
color: white;
}
关于struts的包
org.springframework.web.struts-3.0.1.RELEASE-A.jar
struts2-spring-plugin-2.3.15.jar
struts2-json-plugin-2.3.16.3.jar
fastjson-1.2.44.jar