ibatis学习进阶

 文件目录结构

 

  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>&nbsp;&nbsp;&nbsp;&nbsp;</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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值