Commit fd0087a8883d595f77e6fe081553631518f48ffa

Authored by 孙向锦
1 parent 3f6c3003

添加英语语言

.settings/org.eclipse.core.resources.prefs
1 eclipse.preferences.version=1 1 eclipse.preferences.version=1
2 encoding//WebRoot/WEB-INF/jsp/sunvote/paper/paper_list2.jsp=UTF-8 2 encoding//WebRoot/WEB-INF/jsp/sunvote/paper/paper_list2.jsp=UTF-8
3 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/creat_question.jsp=UTF-8 3 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/creat_question.jsp=UTF-8
  4 +encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/en_set_question.jsp=UTF-8
  5 +encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/en_stduent_report.jsp=UTF-8
4 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/indexPage.jsp=UTF-8 6 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/indexPage.jsp=UTF-8
5 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/paper_view.jsp=UTF-8 7 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/paper_view.jsp=UTF-8
6 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/set_question.jsp=UTF-8 8 encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/set_question.jsp=UTF-8
WebRoot/WEB-INF/jsp/sunvote/sclass/sclass_list2.jsp
@@ -37,9 +37,9 @@ @@ -37,9 +37,9 @@
37 </div> 37 </div>
38 <div class="clearfix"></div> 38 <div class="clearfix"></div>
39 </div> 39 </div>
40 - <div style="background:#fff;"> 40 + <div style="background:#fff;" >
41 41
42 - <table class="table table-striped"> 42 + <table class="table table-striped" style="margin: 0px 5%">
43 <col style="width: 10%" /> 43 <col style="width: 10%" />
44 <col style="width: 22%" /> 44 <col style="width: 22%" />
45 <col style="width: 22%" /> 45 <col style="width: 22%" />
@@ -62,7 +62,7 @@ @@ -62,7 +62,7 @@
62 62
63 </div> 63 </div>
64 <div class="table_box" style="padding:0px"> 64 <div class="table_box" style="padding:0px">
65 - <table class="table table-striped"> 65 + <table class="table table-striped" style="margin: 0px 5%">
66 <col style="width: 10%" /> 66 <col style="width: 10%" />
67 <col style="width: 22%" /> 67 <col style="width: 22%" />
68 <col style="width: 22%" /> 68 <col style="width: 22%" />
@@ -91,13 +91,13 @@ @@ -91,13 +91,13 @@
91 </c:choose> 91 </c:choose>
92 </tbody> 92 </tbody>
93 </table> 93 </table>
94 - <div class="footer" style="width:auto"> 94 + <div class="footer" style="width:auto;margin: 0px 5%;">
95 <div class="creat"> 95 <div class="creat">
96 - <!-- <input type="button" onclick="add();" value="添加学生" /> -->  
97 - </div>  
98 - <div class="creat">  
99 - <!-- <input type="button" onclick="upload();" value="批量导入" /> --> 96 + <input type="button" onclick="add();" value="添加班级" />
100 </div> 97 </div>
  98 + <div class="removeAll">
  99 + <input type="button" onclick="delete();" value="删除" />
  100 + </div>
101 101
102 <div class="page_box"> 102 <div class="page_box">
103 <div class="pagination" 103 <div class="pagination"
@@ -124,6 +124,16 @@ @@ -124,6 +124,16 @@
124 window.top.loading.remove(); 124 window.top.loading.remove();
125 $(".table_box").css("padding-top",$(".head_box").height()); 125 $(".table_box").css("padding-top",$(".head_box").height());
126 }); 126 });
  127 +
  128 + $('#ids').on('click', function(){
  129 + var th_checked = $("#ids").prop('checked');//checkbox inside "TH" table header
  130 +
  131 + $(".table_box .table").find('tbody > tr').each(function(){
  132 + var row = this;
  133 + if(th_checked) $(row).find('input[type=checkbox]').eq(0).prop('checked', true);
  134 + else $(row).find('input[type=checkbox]').eq(0).prop('checked', false);
  135 + });
  136 + });
127 </script> 137 </script>
128 138
129 139
WebRoot/WEB-INF/jsp/sunvote/student/en_student_edit2.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8"
  2 + pageEncoding="UTF-8"%>
  3 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  4 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  5 +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
  6 +<%
  7 + String path = request.getContextPath();
  8 + String basePath = request.getScheme() + "://"
  9 + + request.getServerName() + ":" + request.getServerPort()
  10 + + path + "/";
  11 +%>
  12 +<!DOCTYPE html>
  13 +<html lang="en">
  14 +<head>
  15 +<base href="<%=basePath%>">
  16 +<!-- 日期框 -->
  17 +<link rel="stylesheet" href="../static/ace/css/datepicker.css" />
  18 +<style type="text/css">
  19 +li {
  20 + list-style: none;
  21 + margin-top: 10px;
  22 + clear: right;
  23 + clear: both;
  24 +}
  25 +
  26 +li p {
  27 + width: 5em;
  28 + text-align: right;
  29 + margin: 0;
  30 + margin-right: 0.5em;
  31 + float: left;
  32 + line-height: 30px;
  33 +}
  34 +
  35 +li .li_r {
  36 + margin-left: 6em;
  37 + margin-right: 1em;
  38 + clear: right;
  39 +}
  40 +
  41 +li .li_r select {
  42 + height: 30px;
  43 + line-height: 30px;
  44 + background: #f5f5f5;
  45 + border: 1px solid #ccc;
  46 + outline-style: none;
  47 + width: 100%;
  48 +}
  49 +
  50 +li input {
  51 + height: 30px;
  52 + line-height: 30px;
  53 + background: #f5f5f5;
  54 + border: 1px solid #ccc;
  55 + outline-style: none;
  56 + width: 100%;
  57 +}
  58 +
  59 +
  60 +
  61 +.btn {
  62 + width: 80%;
  63 + height: 40px;
  64 + margin: 0 auto;
  65 + background: #3bc2d6;
  66 + margin-top: 5%;
  67 +}
  68 +
  69 +.btn a {
  70 + display: block;
  71 + width: 100%;
  72 + height: 100%;
  73 + color: #fff;
  74 + text-decoration: none;
  75 + text-align: center;
  76 + line-height: 40px;
  77 + font-size: 20px;
  78 +}
  79 +
  80 +input[type="text"],select {
  81 + padding-left: 6px;
  82 +}
  83 +</style>
  84 +
  85 +</head>
  86 +<body>
  87 + <form action="student/${msg }.do" name="Form" id="Form"
  88 + method="post">
  89 + <input type="hidden" name="ID" id="ID" value="${pd.ID}" /> <input
  90 + type="hidden" name="CLASS_ID" id="CLASS_ID" value="${pd.CLASS_ID}" />
  91 + <input type="hidden" name="TERM_ID" id="TERM_ID" value="${pd.TERM_ID}" />
  92 + <div id="zhongxin">
  93 + <li>
  94 + <p><span style="color:#f00">*</span>Name:</p>
  95 + <div class="li_r">
  96 + <input type="text" name="NAME" id="NAME" value="${pd.NAME}"
  97 + maxlength="255" placeholder="please input student name" title="Name" />
  98 + </div>
  99 + </li>
  100 + <li>
  101 + <p><span style="color:#f00">*</span>No.:</p>
  102 + <div class="li_r">
  103 + <input type="text" name="NUMBER" id="NUMBER" value="${pd.NUMBER}"
  104 + maxlength="255" placeholder="please input the No." title="No." />
  105 + </div>
  106 + </li>
  107 + <li>
  108 + <p><span style="color:#f00">*</span>Keypad ID:</p>
  109 + <div class="li_r">
  110 + <input type="text" name="KEYPAD_ID" id="KEYPAD_ID"
  111 + value="${pd.KEYPAD_ID}" placeholder="please input the keypad id"
  112 + title="Keypad Id" />
  113 + </div>
  114 + </li>
  115 +
  116 + <li>
  117 + <p>Sex:</p>
  118 + <div class="li_r">
  119 + <select class="chosen-select form-control" name="SEX" id="SEX"
  120 + data-placeholder="please choose the sex">
  121 + <option value="1" <c:if test="${pd.SEX==1}">selected="true"</c:if>>Man</option>
  122 + <option value="0" <c:if test="${pd.SEX==0}">selected="true"</c:if>>Woman</option>
  123 + </select>
  124 + </div>
  125 + </li>
  126 +
  127 +
  128 + <div class="btn">
  129 + <a onclick="save();">Save</a>
  130 + </div>
  131 + </div>
  132 + <div id="zhongxin2" class="center" style="display:none">
  133 +
  134 + <img src="static/images/jiazai.gif" /><br />
  135 + <h4 class="lighter block green">Submit...</h4>
  136 + </div>
  137 + </form>
  138 +
  139 +
  140 +
  141 + <!-- 页面底部js¨ -->
  142 + <%@ include file="../../system/index/foot2.jsp"%>
  143 + <!-- 下拉框 -->
  144 + <script src="../static/ace/js/chosen.jquery.js"></script>
  145 + <!-- 日期框 -->
  146 + <script src="../static/ace/js/date-time/bootstrap-datepicker.js"></script>
  147 + <!--提示框-->
  148 + <script type="text/javascript" src="../static/js/jquery.tips.js"></script>
  149 + <script type="text/javascript">
  150 + //保存
  151 + function save() {
  152 + if ($("#NAME").val() == "") {
  153 + $("#NAME").tips({
  154 + side : 3,
  155 + msg : 'Please input the student name',
  156 + bg : '#AE81FF',
  157 + time : 2
  158 + });
  159 + $("#NAME").focus();
  160 + return false;
  161 + }
  162 +
  163 + if ($("#NUMBER").val() == "") {
  164 + $("#NUMBER").tips({
  165 + side : 3,
  166 + msg : 'Please input the student number.',
  167 + bg : '#AE81FF',
  168 + time : 2
  169 + });
  170 + $("#NUMBER").focus();
  171 + return false;
  172 + }
  173 +
  174 + if ($("#KEYPAD_ID").val() == "") {
  175 + $("#KEYPAD_ID").tips({
  176 + side : 3,
  177 + msg : 'Please input the keypad id',
  178 + bg : '#AE81FF',
  179 + time : 2
  180 + });
  181 + $("#KEYPAD_ID").focus();
  182 + return false;
  183 + }
  184 +
  185 + $("#Form").submit();
  186 + $("#zhongxin").hide();
  187 + $("#zhongxin2").show();
  188 + }
  189 +
  190 + $(function() {
  191 + //日期框
  192 +
  193 + });
  194 + </script>
  195 +</body>
  196 +</html>
0 \ No newline at end of file 197 \ No newline at end of file
WebRoot/WEB-INF/jsp/sunvote/student/en_student_list2.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8"
  2 + pageEncoding="UTF-8"%>
  3 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  4 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  5 +<%
  6 + String path = request.getContextPath();
  7 + String basePath = request.getScheme() + "://"
  8 + + request.getServerName() + ":" + request.getServerPort() + path + "/";
  9 +%>
  10 +<html lang="zh-CN">
  11 +<head>
  12 +<meta charset="utf-8">
  13 +<meta http-equiv="X-UA-Compatible" content="IE=edge">
  14 +<meta name="viewport" content="width=device-width, initial-scale=1">
  15 +<title>SunVote-Education Management System</title>
  16 +
  17 +<!-- Bootstrap -->
  18 +<link
  19 + href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"
  20 + rel="stylesheet">
  21 +<link href="../static/css/teach.css" rel="stylesheet">
  22 +
  23 +<!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
  24 +<!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
  25 +<!--[if lt IE 9]>
  26 + <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  27 + <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
  28 + <![endif]-->
  29 +</head>
  30 +<body>
  31 +
  32 +<form action="../student/listcs.do" method="post" name="Form" id="Form">
  33 + <input type="hidden" name="CLASS_ID" id="CLASS_ID" value="${pd.CLASS_ID}"/>
  34 + <input type="hidden" name="TERM_ID" id="TERM_ID" value="${pd.TERM_ID}"/>
  35 + <div class="head_box">
  36 + <div class="box_header">
  37 + <div class="head_box_l">
  38 + <p>
  39 + <span class="right_b"></span>Student Management
  40 + </p>
  41 + </div><div class="clearfix"></div>
  42 + </div>
  43 + <div style="padding:0 5%;background:#fff;">
  44 + <table class="table table-striped">
  45 + <col style="width: 10%" />
  46 + <col style="width: 22%" />
  47 + <col style="width: 22%" />
  48 + <col style="width: 23%" />
  49 + <col style="width: 23%" />
  50 + <thead>
  51 + <tr>
  52 + <th><input type="checkbox" value="0" name='ids' id="ids" />Serial No.</th>
  53 + <th>Name</th>
  54 + <th>Student ID</th>
  55 + <th>Keypad ID</th>
  56 + <th>Operation</th>
  57 + </tr>
  58 + </thead>
  59 + </table></div>
  60 +
  61 + <div class="clearfix"></div>
  62 + </div>
  63 + <div class="table_box">
  64 + <table class="table table-striped">
  65 + <col style="width: 10%" />
  66 + <col style="width: 22%" />
  67 + <col style="width: 22%" />
  68 + <col style="width: 23%" />
  69 + <col style="width: 23%" />
  70 + <tbody>
  71 + <c:choose>
  72 + <c:when test="${not empty varList}">
  73 + <c:forEach items="${varList}" var="var" varStatus="vs">
  74 + <tr>
  75 + <td><input type="checkbox" name='ids' id="ids" value="${var.ID}" />${vs.index+1}</td>
  76 + <td class='center'>${var.NAME}</td>
  77 + <td>${var.NUMBER}</td>
  78 + <td>${var.KEYPAD_ID}</td>
  79 + <td><a href="#" onclick="edit('${var.ID}');" style="margin-right:10px;"><img src="../static/images/eidtor.png" /></a><a href="#" onclick="del('${var.ID}');"><img src="../static/images/remove.png" /></a></td>
  80 + </tr>
  81 +
  82 + </c:forEach>
  83 + </c:when>
  84 + <c:otherwise>
  85 + <tr class="main_info">
  86 + <td colspan="100" class="center" >No Data</td>
  87 + </tr>
  88 + </c:otherwise>
  89 + </c:choose>
  90 + </tbody>
  91 + </table>
  92 +
  93 +
  94 + <div class="footer">
  95 + <div class="creat">
  96 + <input type="button" onclick="add();" value="Add Student" />
  97 + </div>
  98 + <div class="creat">
  99 + <input type="button" onclick="upload();" value="Batch Import" />
  100 + </div>
  101 + <div class="removeAll" >
  102 + <input type="button" onclick="deleteAll();" value="Batch Delete" />
  103 + </div>
  104 + <div class="page_box">
  105 + <div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div>
  106 + </div>
  107 + </div>
  108 + </div>
  109 + </form>
  110 +</body>
  111 +
  112 +<%@ include file="../../system/index/foot2.jsp"%>
  113 +<script type="text/javascript">
  114 + $(document).ready(function(){
  115 + window.top.loading.remove();
  116 + });
  117 + function tosearch(){
  118 + $("#Form").submit();
  119 + }
  120 +
  121 + $('#ids').on('click', function(){
  122 + var th_checked = $("#ids").prop('checked');//checkbox inside "TH" table header
  123 +
  124 + $(".table_box .table").find('tbody > tr').each(function(){
  125 + var row = this;
  126 + if(th_checked) $(row).find('input[type=checkbox]').eq(0).prop('checked', true);
  127 + else $(row).find('input[type=checkbox]').eq(0).prop('checked', false);
  128 + });
  129 + });
  130 +
  131 + function del(Id){
  132 + window.top.remove.init({"title":"Delete","func":function(success){
  133 + if(success){
  134 + var url = "<%=basePath%>student/delete.do?ID="+Id+"&tm="+new Date().getTime();
  135 + window.top.loading.show();
  136 + $.get(url,function(data){
  137 + tosearch();
  138 + });
  139 + }
  140 + else{
  141 + console.log("false");
  142 + }
  143 + }});
  144 + window.top.remove.show();
  145 + }
  146 +
  147 + function add(){
  148 + window.top.modal.init({
  149 + 'title':'Add Student',
  150 + 'url':'<%=basePath%>student/goAdd2.do?class_id=${pd.CLASS_ID}&term_id=${pd.TERM_ID}',
  151 + func:function() {
  152 + tosearch();
  153 + }
  154 + });
  155 + window.top.modal.show();
  156 + }
  157 +
  158 + function edit(Id){
  159 + window.top.modal.init({
  160 + 'title':'添加学生',
  161 + 'url':'<%=basePath%>student/goEdit2.do?ID='+Id,
  162 + func:function() {
  163 + tosearch();
  164 + }
  165 + });
  166 + window.top.modal.show();
  167 + }
  168 +
  169 + function deleteAll(){
  170 + window.top.remove.init({"title":"Delete","func":function(success){
  171 + if(success){
  172 + var str = '';
  173 + for(var i=0;i < document.getElementsByName('ids').length;i++){
  174 + if(document.getElementsByName('ids')[i].checked){
  175 + if(str=='') str += document.getElementsByName('ids')[i].value;
  176 + else str += ',' + document.getElementsByName('ids')[i].value;
  177 + }
  178 + }
  179 + if(str==''){
  180 +
  181 + }else{
  182 + $.ajax({
  183 + type: "POST",
  184 + url: '<%=basePath%>student/deleteAll.do?tm='+new Date().getTime(),
  185 + data: {DATA_IDS:str},
  186 + dataType:'json',
  187 + //beforeSend: validateData,
  188 + cache: false,
  189 + success: function(data){
  190 + tosearch();
  191 + }
  192 + });
  193 + }
  194 + }
  195 + else{
  196 + console.log("false");
  197 + }
  198 + }});
  199 + window.top.remove.show();
  200 + }
  201 +
  202 + function upload(){
  203 + window.top.modal.init({
  204 + 'title':'Import excel student name list',
  205 + 'url':'<%=basePath%>student/goUploadExcel.do?class_id=${pd.CLASS_ID}&term_id=${pd.TERM_ID}',
  206 + func:function() {
  207 + tosearch();
  208 + }
  209 + });
  210 + window.top.modal.show();
  211 + }
  212 +
  213 +</script>
  214 +</html>
0 \ No newline at end of file 215 \ No newline at end of file
WebRoot/WEB-INF/jsp/sunvote/student/en_uploadexcel.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8"
  2 + pageEncoding="UTF-8"%>
  3 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  4 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  5 +<%
  6 + String path = request.getContextPath();
  7 + String basePath = request.getScheme() + "://"
  8 + + request.getServerName() + ":" + request.getServerPort()
  9 + + path + "/";
  10 +%>
  11 +<!DOCTYPE html>
  12 +<html lang="en">
  13 +<head>
  14 +<base href="<%=basePath%>">
  15 +
  16 +<!-- jsp文件头和头部 -->
  17 +<%@ include file="../../system/index/top.jsp"%>
  18 +
  19 +
  20 +<style>
  21 +
  22 +.ace-file-input .ace-file-container{
  23 +display: block;
  24 + position: absolute;
  25 + top: 0;
  26 + left: 0;
  27 + right: 0;
  28 + height: 40px;
  29 + background-color: #ffffff;
  30 + border: 1px solid #d5d5d5;
  31 + cursor: pointer;
  32 + -webkit-box-shadow: none;
  33 + box-shadow: none;
  34 + -webkit-transition: all 0.15s;
  35 + -o-transition: all 0.15s;
  36 + transition: all 0.15s;
  37 +}
  38 +.ace-file-input .ace-file-container:before{
  39 + display: inline-block;
  40 + content: attr(data-title);
  41 + position: absolute;
  42 + right: 0;
  43 + top: 0;
  44 + bottom: 0;
  45 + line-height: 34px;
  46 + text-align: center;
  47 + padding: 0 8px;
  48 + background-color: #3bc2d6;
  49 + color: #FFF;
  50 + font-size: 11px;
  51 + font-weight: bold;
  52 + border: 2px solid #FFF;
  53 + border-left-width: 4px;
  54 + -webkit-transition: all 0.3s;
  55 + -o-transition: all 0.3s;
  56 + transition: all 0.3s;
  57 +}
  58 +.ace-file-input .ace-file-container .ace-file-name {
  59 + display: inline-block;
  60 + height: 38px;
  61 + max-width: 80%;
  62 + white-space: nowrap;
  63 + overflow: hidden;
  64 + line-height: 38px;
  65 + color: #888888;
  66 + font-size: 13px;
  67 + vertical-align: top;
  68 + position: static;
  69 + padding-left: 36px;
  70 + }
  71 +
  72 + .ace-file-input .ace-file-container .ace-icon {
  73 + display: inline-block;
  74 + position: absolute;
  75 + left: 0;
  76 + top: 0;
  77 + bottom: 0;
  78 + line-height: 34px;
  79 + width: 36px;
  80 + text-align: center;
  81 + font-family: FontAwesome;
  82 + font-size: 13px;
  83 + border: 2px solid #FFF;
  84 + color: #FFF;
  85 + -webkit-transition: all 0.1s;
  86 + -o-transition: all 0.1s;
  87 + transition: all 0.1s;
  88 + background-color: #3bc2d6;
  89 + }
  90 +
  91 + .ace-file-input .ace-file-container .ace-file-name:after {
  92 + display: inline-block;
  93 + content: attr(data-title);
  94 +}
  95 +
  96 +
  97 +</style>
  98 +
  99 +</head>
  100 +<body class="no-skin">
  101 +
  102 + <!-- /section:basics/navbar.layout -->
  103 + <div class="main-container" id="main-container">
  104 + <!-- /section:basics/sidebar -->
  105 + <div class="main-content">
  106 + <div class="main-content-inner">
  107 + <div class="page-content">
  108 + <div class="row">
  109 + <div class="col-xs-12">
  110 + <form action="student/readExcel.do?CLASS_ID=${pd.CLASS_ID}&TERM_ID=${pd.TERM_ID}" name="Form" id="Form" method="post" enctype="multipart/form-data">
  111 + <div id="zhongxin">
  112 + <input type="hidden" name="CLASS_ID" id="CLASS_ID" value="${pd.CLASS_ID}"/>
  113 + <input type="hidden" name="TERM_ID" id="TERM_ID" value="${pd.TERM_ID}"/>
  114 + <table style="width:95%;" >
  115 + <tr>
  116 + <td style="padding-top: 20px;"><input type="file" id="excel" name="excel" style="width:50px;" onchange="fileType(this)" /></td>
  117 + </tr>
  118 + <tr>
  119 + <td style="text-align: center;padding-top: 10px;">
  120 + <a class="btn btn-mini btn-primary" style="background-color:#3bc2d6 !important;border-color:#3bc2d6 !important;width:200px; height:50px;line-height:50px;font-size:18px;margin-top:5%;padding:0" onclick="save();">Import</a>
  121 + <a class="btn btn-mini btn-primary" style="background-color:#87b87f !important;border-color:#87b87f !important;width:200px; height:50px;line-height:50px;font-size:18px;margin-top:5%;padding:0" href="static/files/Template.xls" target="_blank" >Download template</a>
  122 + </td>
  123 + </tr>
  124 + </table>
  125 + </div>
  126 + <div id="zhongxin2" class="center" style="display:none"><br/><img src="static/images/jzx.gif" /><br/><h4 class="lighter block green"></h4></div>
  127 + </form>
  128 + </div>
  129 + <!-- /.col -->
  130 + </div>
  131 + <!-- /.row -->
  132 + </div>
  133 + <!-- /.page-content -->
  134 + </div>
  135 + </div>
  136 + <!-- /.main-content -->
  137 + </div>
  138 + <!-- /.main-container -->
  139 +
  140 + <!-- basic scripts -->
  141 + <!-- 页面底部js¨ -->
  142 + <%@ include file="../../system/index/foot.jsp"%>
  143 + <!-- ace scripts -->
  144 + <script src="static/ace/js/ace/ace.js"></script>
  145 + <!-- 上传控件 -->
  146 + <script src="static/ace/js/ace/elements.fileinput.js"></script>
  147 + <!--提示框-->
  148 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  149 + <script type="text/javascript">
  150 + $(function() {
  151 + //上传
  152 + $('#excel').ace_file_input({
  153 + no_file:'Please select a file in xls format',
  154 + btn_choose:'Select',
  155 + btn_change:'Modify',
  156 + droppable:false,
  157 + onchange:null,
  158 + thumbnail:false, //| true | large
  159 + whitelist:'xls|xls',
  160 + blacklist:'gif|png|jpg|jpeg'
  161 + //onchange:''
  162 + });
  163 + });
  164 +
  165 + //保存
  166 + function save(){
  167 + if($("#excel").val()=="" || document.getElementById("excel").files[0] =='Please select a file in xls format'){
  168 +
  169 + $("#excel").tips({
  170 + side:3,
  171 + msg:'Please select file',
  172 + bg:'#AE81FF',
  173 + time:3
  174 + });
  175 + return false;
  176 + }
  177 + $("#Form").submit();
  178 + $("#zhongxin").hide();
  179 + $("#zhongxin2").show();
  180 + }
  181 + function fileType(obj){
  182 + var fileType=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();//获得文件后缀名
  183 + if(fileType != '.xls'){
  184 + $("#excel").tips({
  185 + side:3,
  186 + msg:'Please select a file in xls format',
  187 + bg:'#AE81FF',
  188 + time:3
  189 + });
  190 + $("#excel").val('');
  191 + document.getElementById("excel").files[0] = 'Please select a file in xls format';
  192 + }
  193 + }
  194 + </script>
  195 +
  196 +
  197 +</body>
  198 +</html>
0 \ No newline at end of file 199 \ No newline at end of file
WebRoot/WEB-INF/jsp/sunvote/teacher/teach_paper.jsp
@@ -119,7 +119,12 @@ @@ -119,7 +119,12 @@
119 </div><!-- /.modal-dialog --> 119 </div><!-- /.modal-dialog -->
120 </div><!-- /.modal --> 120 </div><!-- /.modal -->
121 <script type="text/javascript"> 121 <script type="text/javascript">
122 - var url = "<%=basePath%>" 122 + var url = "<%=basePath%>" ;
  123 + $('.date-picker').datepicker({
  124 + autoclose: true,
  125 + todayHighlight: true,
  126 + });
  127 + var view = "查看" ;
123 </script> 128 </script>
124 129
125 <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> 130 <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_list.jsp
@@ -46,7 +46,7 @@ @@ -46,7 +46,7 @@
46 <c:if test="${QX.cha == 1 }"> 46 <c:if test="${QX.cha == 1 }">
47 <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td> 47 <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
48 </c:if> 48 </c:if>
49 - <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if> 49 + <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="c"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if>
50 </tr> 50 </tr>
51 </table> 51 </table>
52 <!-- 检索 --> 52 <!-- 检索 -->
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp
@@ -148,7 +148,7 @@ @@ -148,7 +148,7 @@
148 <div class="form-group"> 148 <div class="form-group">
149 <label for="enter_time" class="col-sm-4 control-label">模板</label> 149 <label for="enter_time" class="col-sm-4 control-label">模板</label>
150 <div class="col-sm-6"> 150 <div class="col-sm-6">
151 - <select class="chosen-select form-control" name="TEMPLATE_ID" id="TEMPLATE_ID" data-placeholder="这里输入所属学校"> 151 + <select class="chosen-select form-control" name="TEMPLATE_ID" id="TEMPLATE_ID" data-placeholder="">
152 <option value="">自定义</option> 152 <option value="">自定义</option>
153 <c:forEach items="${templateInfos}" var="var" varStatus="vs"> 153 <c:forEach items="${templateInfos}" var="var" varStatus="vs">
154 <option value="${var.PAGETEMPLATE_ID}">${var.NAME}</option> 154 <option value="${var.PAGETEMPLATE_ID}">${var.NAME}</option>
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp
@@ -277,7 +277,7 @@ @@ -277,7 +277,7 @@
277 $(document).ready(function(){ 277 $(document).ready(function(){
278 window.top.loading.remove(); 278 window.top.loading.remove();
279 279
280 - /* var sour = "${testpaperList}"; 280 + var sour = "${testpaperList}";
281 281
282 if(sour != null && sour.length > 3){ 282 if(sour != null && sour.length > 3){
283 var _width = $('#mainFrame', parent.document).width()-40; 283 var _width = $('#mainFrame', parent.document).width()-40;
@@ -295,7 +295,7 @@ @@ -295,7 +295,7 @@
295 console.log(name_height); 295 console.log(name_height);
296 $(".th_name").height(name_height); 296 $(".th_name").height(name_height);
297 } 297 }
298 - */ 298 +
299 }); 299 });
300 300
301 </script> 301 </script>
WebRoot/WEB-INF/jsp/system/index/login.jsp
@@ -27,6 +27,12 @@ @@ -27,6 +27,12 @@
27 <script type="text/javascript" src="static/js/jQuery.md5.js"></script> 27 <script type="text/javascript" src="static/js/jQuery.md5.js"></script>
28 <script type="text/javascript" src="static/js/jquery.tips.js"></script> 28 <script type="text/javascript" src="static/js/jquery.tips.js"></script>
29 <script type="text/javascript" src="static/js/jquery.cookie.js"></script> 29 <script type="text/javascript" src="static/js/jquery.cookie.js"></script>
  30 +<script type="text/javascript" src="static/js/lang.js"></script>
  31 +<script type="text/javascript" >
  32 + if(lang() != 'zh'){
  33 +
  34 + }
  35 +</script>
30 <style type="text/css"> 36 <style type="text/css">
31 .div_foot { 37 .div_foot {
32 height: 30px; 38 height: 30px;
@@ -187,7 +193,6 @@ @@ -187,7 +193,6 @@
187 <script src="static/login/js/jquery.mobile.customized.min.js"></script> 193 <script src="static/login/js/jquery.mobile.customized.min.js"></script>
188 <script src="static/login/js/camera.min.js"></script> 194 <script src="static/login/js/camera.min.js"></script>
189 <script src="static/login/js/templatemo_script.js"></script> 195 <script src="static/login/js/templatemo_script.js"></script>
190 - <script src="static/login/js/ban.js"></script>  
191 <script type="text/javascript" src="static/js/jQuery.md5.js"></script> 196 <script type="text/javascript" src="static/js/jQuery.md5.js"></script>
192 <script type="text/javascript" src="static/js/jquery.tips.js"></script> 197 <script type="text/javascript" src="static/js/jquery.tips.js"></script>
193 <script type="text/javascript" src="static/js/jquery.cookie.js"></script> 198 <script type="text/javascript" src="static/js/jquery.cookie.js"></script>
WebRoot/static/js/control.js
@@ -154,7 +154,7 @@ @@ -154,7 +154,7 @@
154 var num_ans=$("#num_ans").val(); 154 var num_ans=$("#num_ans").val();
155 var fraction=$("#fraction").val(); 155 var fraction=$("#fraction").val();
156 if(answer==''){ 156 if(answer==''){
157 - alert("请输入题目答案,以分号隔开"); 157 + alert("请输入题目答案");
158 return; 158 return;
159 }else if(fraction==''){ 159 }else if(fraction==''){
160 alert("请输入题目分数"); 160 alert("请输入题目分数");
WebRoot/static/js/teach_paper.js
@@ -27,17 +27,13 @@ @@ -27,17 +27,13 @@
27 getList(); 27 getList();
28 }, 28 },
29 error: function (XMLHttpRequest, textStatus, errorThrown) { 29 error: function (XMLHttpRequest, textStatus, errorThrown) {
30 - // 错误信息  
31 - alert("状态码:"+XMLHttpRequest.status+"状态:"+XMLHttpRequest.readyState+"错误信息:"+textStatus+""); 30 + // wrong massage
  31 + alert("Status code:"+XMLHttpRequest.status+"Status"+XMLHttpRequest.readyState+"wrong massage:"+textStatus+"");
32 window.top.loading.remove(); 32 window.top.loading.remove();
33 } 33 }
34 }) 34 })
35 35
36 - //日期框  
37 - $('.date-picker').datepicker({  
38 - autoclose: true,  
39 - todayHighlight: true  
40 - }); 36 +
41 window.top.loading.remove(); 37 window.top.loading.remove();
42 }) 38 })
43 39
@@ -60,14 +56,14 @@ @@ -60,14 +56,14 @@
60 success:function(data){ 56 success:function(data){
61 console.log(data); 57 console.log(data);
62 for(var i=0;i<data.data.length;i++){ 58 for(var i=0;i<data.data.length;i++){
63 - tab_html += '<tr data-id="'+data.data[i].PAPER_ID+'" data-classid="'+data.data[i].CLASS_ID+'"><td><input type="checkbox" name="ids" id="ids" value="'+data.data[i].PAPER_ID+'"/>'+(i+1)+'</td><td>'+data.data[i].TITLE+'</td><td>'+getClassName(data.data[i].CLASS_ID)+'</td><td>'+getSubjectName(data.data[i].SUBJECT_ID)+'</td><td>'+data.data[i].EXAM_TIME+'分钟</td><td>'+data.data[i].CREATE_DATE+'</td><td><a onclick="jump($(this))">查看</a></td><td><a href="#" onclick="del($(this));"><img src="../static/images/remove.png" /></a></td></tr>'; 59 + tab_html += '<tr data-id="'+data.data[i].PAPER_ID+'" data-classid="'+data.data[i].CLASS_ID+'"><td><input type="checkbox" name="ids" id="ids" value="'+data.data[i].PAPER_ID+'"/>'+(i+1)+'</td><td>'+data.data[i].TITLE+'</td><td>'+getClassName(data.data[i].CLASS_ID)+'</td><td>'+getSubjectName(data.data[i].SUBJECT_ID)+'</td><td>'+data.data[i].EXAM_TIME+'分钟</td><td>'+data.data[i].CREATE_DATE+'</td><td><a onclick="jump($(this))">' + view + '</a></td><td><a href="#" onclick="del($(this));"><img src="../static/images/remove.png" /></a></td></tr>';
64 } 60 }
65 $("#tab_body").html(tab_html); 61 $("#tab_body").html(tab_html);
66 window.top.loading.remove(); 62 window.top.loading.remove();
67 }, 63 },
68 error: function (XMLHttpRequest, textStatus, errorThrown) { 64 error: function (XMLHttpRequest, textStatus, errorThrown) {
69 - // 错误信息  
70 - alert("状态码:"+XMLHttpRequest.status+"状态:"+XMLHttpRequest.readyState+"错误信息:"+textStatus+""); 65 + // wrong massage
  66 + alert("Status code:"+XMLHttpRequest.status+"Status"+XMLHttpRequest.readyState+"wrong massage:"+textStatus+"");
71 window.top.loading.remove(); 67 window.top.loading.remove();
72 } 68 }
73 }); 69 });
@@ -100,7 +96,7 @@ @@ -100,7 +96,7 @@
100 class_id=$(".classList .active").attr("data-classid"); 96 class_id=$(".classList .active").attr("data-classid");
101 location.href="set_question.do?subject_id="+subject_id+"&class_id="+class_id+"&user_id="+user_id; 97 location.href="set_question.do?subject_id="+subject_id+"&class_id="+class_id+"&user_id="+user_id;
102 }else{ 98 }else{
103 - alert("请先选择班级"); 99 + alert("Please select class first");
104 } 100 }
105 window.top.loading.show(); 101 window.top.loading.show();
106 console.log($(".classList .active").length); 102 console.log($(".classList .active").length);
@@ -117,8 +113,8 @@ @@ -117,8 +113,8 @@
117 subjectName=data.data; 113 subjectName=data.data;
118 }, 114 },
119 error: function (XMLHttpRequest, textStatus, errorThrown) { 115 error: function (XMLHttpRequest, textStatus, errorThrown) {
120 - // 错误信息  
121 - alert("状态码:"+XMLHttpRequest.status+"状态:"+XMLHttpRequest.readyState+"错误信息:"+textStatus+""); 116 + // wrong massage
  117 + alert("Status code:"+XMLHttpRequest.status+"Status"+XMLHttpRequest.readyState+"wrong massage:"+textStatus+"");
122 window.top.loading.remove(); 118 window.top.loading.remove();
123 } 119 }
124 }) 120 })
@@ -135,8 +131,8 @@ @@ -135,8 +131,8 @@
135 className=data.data; 131 className=data.data;
136 }, 132 },
137 error: function (XMLHttpRequest, textStatus, errorThrown) { 133 error: function (XMLHttpRequest, textStatus, errorThrown) {
138 - // 错误信息  
139 - alert("状态码:"+XMLHttpRequest.status+"状态:"+XMLHttpRequest.readyState+"错误信息:"+textStatus+""); 134 + // wrong massage
  135 + alert("Status code:"+XMLHttpRequest.status+"Status:"+XMLHttpRequest.readyState+"wrong massage:"+textStatus+"");
140 window.top.loading.remove(); 136 window.top.loading.remove();
141 } 137 }
142 }) 138 })
@@ -194,7 +190,7 @@ @@ -194,7 +190,7 @@
194 function del(obj){ //删除 190 function del(obj){ //删除
195 //var remove = new remove(); 191 //var remove = new remove();
196 var id=obj.closest("tr").attr("data-id"); 192 var id=obj.closest("tr").attr("data-id");
197 - window.top.remove.init({"title":"删除","func":function(success){ 193 + window.top.remove.init({"title":"Delete","func":function(success){
198 if(success){ 194 if(success){
199 var url1 = url+ "/paper/delete.do?PAPER_ID="+id+"&tm="+new Date().getTime(); 195 var url1 = url+ "/paper/delete.do?PAPER_ID="+id+"&tm="+new Date().getTime();
200 window.top.loading.show(); 196 window.top.loading.show();
@@ -209,7 +205,7 @@ @@ -209,7 +205,7 @@
209 window.top.remove.show(); 205 window.top.remove.show();
210 } 206 }
211 function deleteAll(){ //批量删除 207 function deleteAll(){ //批量删除
212 - window.top.remove.init({"title":"删除","func":function(success){ 208 + window.top.remove.init({"title":"Delete","func":function(success){
213 if(success){ 209 if(success){
214 var str = ''; 210 var str = '';
215 for(var i=0;i < document.getElementsByName('ids').length;i++){ 211 for(var i=0;i < document.getElementsByName('ids').length;i++){
WebRoot/static/js/test_list.js
@@ -33,7 +33,7 @@ $(document).ready( @@ -33,7 +33,7 @@ $(document).ready(
33 }, 33 },
34 error: function (XMLHttpRequest, textStatus, errorThrown) { 34 error: function (XMLHttpRequest, textStatus, errorThrown) {
35 // 错误信息 35 // 错误信息
36 - alert("状态码:"+XMLHttpRequest.status+"状态:"+XMLHttpRequest.readyState+"错误信息:"+textStatus+""); 36 + alert("Status code:"+XMLHttpRequest.status+"Status:"+XMLHttpRequest.readyState+"wrong massage:"+textStatus+"");
37 window.top.loading.remove(); 37 window.top.loading.remove();
38 } 38 }
39 }) 39 })
@@ -83,7 +83,7 @@ function getList(start_date, end_date, class_id) { // 获取测验列表 @@ -83,7 +83,7 @@ function getList(start_date, end_date, class_id) { // 获取测验列表
83 }, 83 },
84 error: function (XMLHttpRequest, textStatus, errorThrown) { 84 error: function (XMLHttpRequest, textStatus, errorThrown) {
85 // 错误信息 85 // 错误信息
86 - alert("状态码:"+XMLHttpRequest.status+"状态:"+XMLHttpRequest.readyState+"错误信息:"+textStatus+""); 86 + alert("Status code:"+XMLHttpRequest.status+"Status:"+XMLHttpRequest.readyState+"wrong massage:"+textStatus+"");
87 window.top.loading.remove(); 87 window.top.loading.remove();
88 } 88 }
89 }); 89 });
@@ -128,7 +128,7 @@ function getClassName(id) { // 获取班级中文名 @@ -128,7 +128,7 @@ function getClassName(id) { // 获取班级中文名
128 }, 128 },
129 error: function (XMLHttpRequest, textStatus, errorThrown) { 129 error: function (XMLHttpRequest, textStatus, errorThrown) {
130 // 错误信息 130 // 错误信息
131 - alert("状态码:"+XMLHttpRequest.status+"状态:"+XMLHttpRequest.readyState+"错误信息:"+textStatus+""); 131 + alert("Status code:"+XMLHttpRequest.status+"Status:"+XMLHttpRequest.readyState+"wrong massage:"+textStatus+"");
132 window.top.loading.remove(); 132 window.top.loading.remove();
133 } 133 }
134 }) 134 })
resources/dbconfig.properties
1 #数据源 1 1 #数据源 1
2 -url:jdbc:mysql://47.107.98.47:3306/education?autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 2 +url:jdbc:mysql://47.107.98.47:3306/education2?autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
3 #url:jdbc:mysql://120.78.57.84:3306/education3?autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 3 #url:jdbc:mysql://120.78.57.84:3306/education3?autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
4 #url:jdbc:mysql://192.168.0.3:3306/education?autoReconnect=true&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 4 #url:jdbc:mysql://192.168.0.3:3306/education?autoReconnect=true&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
5 driverClassName:com.mysql.jdbc.Driver 5 driverClassName:com.mysql.jdbc.Driver
resources/mybatis1/api/V1Mapper.xml
@@ -139,10 +139,12 @@ @@ -139,10 +139,12 @@
139 SELECT 139 SELECT
140 sv_teacher.`NAME` AS TEACHER_NAME, 140 sv_teacher.`NAME` AS TEACHER_NAME,
141 sv_grade.`NAME` AS GRADE_NAME, 141 sv_grade.`NAME` AS GRADE_NAME,
  142 + sv_grade.`ENAME` AS GRADE_ENAME,
142 sv_grade.ID AS GRADE_ID, 143 sv_grade.ID AS GRADE_ID,
143 sv_sclass.CLASS_NAME AS CLASS_NAME, 144 sv_sclass.CLASS_NAME AS CLASS_NAME,
144 sv_sclass.ID AS CLASS_ID, 145 sv_sclass.ID AS CLASS_ID,
145 sv_subject.CNAME AS SUBJECT_NAME, 146 sv_subject.CNAME AS SUBJECT_NAME,
  147 + sv_subject.ENAME AS SUBJECT_ENAME,
146 sv_subject.ID AS SUBJECT_ID, 148 sv_subject.ID AS SUBJECT_ID,
147 sv_school.`NAME` as SCHOOL_NAME, 149 sv_school.`NAME` as SCHOOL_NAME,
148 sv_school.ID AS SCHOOL_ID, 150 sv_school.ID AS SCHOOL_ID,
src/com/fh/controller/base/BaseController.java
1 package com.fh.controller.base; 1 package com.fh.controller.base;
2 2
3 3
  4 +import javax.servlet.http.Cookie;
4 import javax.servlet.http.HttpServletRequest; 5 import javax.servlet.http.HttpServletRequest;
5 6
6 import org.apache.shiro.session.Session; 7 import org.apache.shiro.session.Session;
@@ -148,4 +149,32 @@ public class BaseController { @@ -148,4 +149,32 @@ public class BaseController {
148 return schoolName; 149 return schoolName;
149 } 150 }
150 151
  152 + public String getCookieLanguage(){
  153 + Cookie[] cookies = getRequest().getCookies();
  154 + if (cookies != null) {
  155 + for (Cookie cookie : cookies) {
  156 + if (cookie.getName().equals("lang")) {
  157 + return cookie.getValue();
  158 + }
  159 + }
  160 + }
  161 + return null;
  162 + }
  163 +
  164 + public String getLang() {
  165 + String lang = getCookieLanguage();
  166 + if(lang == null){
  167 + lang = getRequest().getLocale().getLanguage();
  168 + }
  169 + return lang;
  170 + }
  171 +
  172 + public boolean isChineseLanguageClient(){
  173 + String lang = getLang();
  174 + if(lang != null && lang.length() >= 2){
  175 + lang = lang.substring(0,2);
  176 + }
  177 + return "zh".equals(getLang());
  178 + }
  179 +
151 } 180 }
src/com/fh/controller/sunvote/paper/PaperController.java
@@ -239,7 +239,11 @@ public class PaperController extends BaseController { @@ -239,7 +239,11 @@ public class PaperController extends BaseController {
239 ex.printStackTrace(); 239 ex.printStackTrace();
240 } 240 }
241 } 241 }
242 - mv.setViewName("sunvote/teacher/creat_question"); 242 + if(isChineseLanguageClient()){
  243 + mv.setViewName("sunvote/teacher/creat_question");
  244 + }else{
  245 + mv.setViewName("sunvote/teacher/en_creat_question");
  246 + }
243 mv.addObject("pd", pd); 247 mv.addObject("pd", pd);
244 mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 248 mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
245 return mv; 249 return mv;
@@ -278,7 +282,11 @@ public class PaperController extends BaseController { @@ -278,7 +282,11 @@ public class PaperController extends BaseController {
278 mv.addObject("TEMPLEATE", template); 282 mv.addObject("TEMPLEATE", template);
279 } 283 }
280 284
281 - mv.setViewName("sunvote/teacher/creat_question"); 285 + if(isChineseLanguageClient()){
  286 + mv.setViewName("sunvote/teacher/creat_question");
  287 + }else{
  288 + mv.setViewName("sunvote/teacher/en_creat_question");
  289 + }
282 mv.addObject("pd", pd); 290 mv.addObject("pd", pd);
283 if(paperType != null && "2".equals(paperType)){ 291 if(paperType != null && "2".equals(paperType)){
284 mv.addObject("JUMP_URL", "/main/admin"); 292 mv.addObject("JUMP_URL", "/main/admin");
@@ -311,14 +319,19 @@ public class PaperController extends BaseController { @@ -311,14 +319,19 @@ public class PaperController extends BaseController {
311 pd.put("PAPER_TYPE","1"); 319 pd.put("PAPER_TYPE","1");
312 page.setPd(pd); 320 page.setPd(pd);
313 List<PageData> varList = paperService.list(page); //列出Paper列表 321 List<PageData> varList = paperService.list(page); //列出Paper列表
314 - mv.setViewName("sunvote/paper/paper_list2"); 322 + page.setLangIsChina(isChineseLanguageClient());
  323 + if(isChineseLanguageClient()){
  324 + mv.setViewName("sunvote/paper/paper_list2");
  325 + }else{
  326 + mv.setViewName("sunvote/paper/en_paper_list2");
  327 + }
315 328
316 for(PageData p:varList){ 329 for(PageData p:varList){
317 String examTime = p.getString("EXAM_TIME"); 330 String examTime = p.getString("EXAM_TIME");
318 if(examTime != null){ 331 if(examTime != null){
319 try{ 332 try{
320 int et = Integer.parseInt(examTime); 333 int et = Integer.parseInt(examTime);
321 - String min = (et / 60 ) + "" ; 334 + String min = (et / 60 ) + "" ;
322 if(min.length() < 2){ 335 if(min.length() < 2){
323 min = "0" + min ; 336 min = "0" + min ;
324 } 337 }
src/com/fh/controller/sunvote/report/ReportController.java
@@ -201,7 +201,11 @@ public class ReportController extends BaseController { @@ -201,7 +201,11 @@ public class ReportController extends BaseController {
201 mv.addObject("start_date", pd.get("START_DATE")); 201 mv.addObject("start_date", pd.get("START_DATE"));
202 mv.addObject("end_date", pd.get("END_DATE")); 202 mv.addObject("end_date", pd.get("END_DATE"));
203 mv.addObject("pd", pd); 203 mv.addObject("pd", pd);
204 - mv.setViewName("sunvote/teacher/teacher_report_1"); 204 + if(isChineseLanguageClient()){
  205 + mv.setViewName("sunvote/teacher/teacher_report_1");
  206 + }else{
  207 + mv.setViewName("sunvote/teacher/en_teacher_report_1");
  208 + }
205 return mv; 209 return mv;
206 } 210 }
207 211
@@ -235,7 +239,11 @@ public class ReportController extends BaseController { @@ -235,7 +239,11 @@ public class ReportController extends BaseController {
235 url += "&SUBJECT_ID=" + pd.getString("SUBJECT_ID"); 239 url += "&SUBJECT_ID=" + pd.getString("SUBJECT_ID");
236 } 240 }
237 mv.addObject("URL",url); 241 mv.addObject("URL",url);
238 - mv.setViewName("sunvote/teacher/stduent_report"); 242 + if(isChineseLanguageClient()){
  243 + mv.setViewName("sunvote/teacher/stduent_report");
  244 + }else{
  245 + mv.setViewName("sunvote/teacher/en_stduent_report");
  246 + }
239 mv.addObject("start_date", pd.get("START_DATE")); 247 mv.addObject("start_date", pd.get("START_DATE"));
240 mv.addObject("end_date", pd.get("END_DATE")); 248 mv.addObject("end_date", pd.get("END_DATE"));
241 mv.addObject("pd", pd); 249 mv.addObject("pd", pd);
@@ -534,8 +542,11 @@ public class ReportController extends BaseController { @@ -534,8 +542,11 @@ public class ReportController extends BaseController {
534 mv.addObject("studentInfo", studentList); 542 mv.addObject("studentInfo", studentList);
535 mv.addObject("teacherPd", teacherPd); 543 mv.addObject("teacherPd", teacherPd);
536 mv.addObject("subjectPd", subjectPd); 544 mv.addObject("subjectPd", subjectPd);
537 -  
538 - mv.setViewName("sunvote/teacher/teacher_report_test"); 545 + if(isChineseLanguageClient()){
  546 + mv.setViewName("sunvote/teacher/teacher_report_test");
  547 + }else{
  548 + mv.setViewName("sunvote/teacher/en_teacher_report_test");
  549 + }
539 return mv; 550 return mv;
540 } 551 }
541 552
src/com/fh/controller/sunvote/student/StudentController.java
@@ -107,8 +107,11 @@ public class StudentController extends BaseController { @@ -107,8 +107,11 @@ public class StudentController extends BaseController {
107 ModelAndView mv = this.getModelAndView(); 107 ModelAndView mv = this.getModelAndView();
108 mv.addObject("pd", getPageData()); 108 mv.addObject("pd", getPageData());
109 109
110 -  
111 - mv.setViewName("sunvote/student/uploadexcel"); 110 + if(isChineseLanguageClient()){
  111 + mv.setViewName("sunvote/student/uploadexcel");
  112 + }else{
  113 + mv.setViewName("sunvote/student/en_uploadexcel");
  114 + }
112 return mv; 115 return mv;
113 } 116 }
114 117
@@ -257,7 +260,12 @@ public class StudentController extends BaseController { @@ -257,7 +260,12 @@ public class StudentController extends BaseController {
257 pd = this.getPageData(); 260 pd = this.getPageData();
258 page.setPd(pd); 261 page.setPd(pd);
259 List<PageData> varList = studentService.datalistclassPage(page); //列出Student列表 262 List<PageData> varList = studentService.datalistclassPage(page); //列出Student列表
260 - mv.setViewName("sunvote/student/student_list2"); 263 + page.setLangIsChina(isChineseLanguageClient());
  264 + if(isChineseLanguageClient()){
  265 + mv.setViewName("sunvote/student/student_list2");
  266 + }else{
  267 + mv.setViewName("sunvote/student/en_student_list2");
  268 + }
261 mv.addObject("varList", varList); 269 mv.addObject("varList", varList);
262 mv.addObject("pd", pd); 270 mv.addObject("pd", pd);
263 mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 271 mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
@@ -288,7 +296,11 @@ public class StudentController extends BaseController { @@ -288,7 +296,11 @@ public class StudentController extends BaseController {
288 ModelAndView mv = this.getModelAndView(); 296 ModelAndView mv = this.getModelAndView();
289 PageData pd = new PageData(); 297 PageData pd = new PageData();
290 pd = this.getPageData(); 298 pd = this.getPageData();
291 - mv.setViewName("sunvote/student/student_edit2"); 299 + if(isChineseLanguageClient()){
  300 + mv.setViewName("sunvote/student/student_edit2");
  301 + }else{
  302 + mv.setViewName("sunvote/student/en_student_edit2");
  303 + }
292 mv.addObject("msg", "save2"); 304 mv.addObject("msg", "save2");
293 mv.addObject("pd", pd); 305 mv.addObject("pd", pd);
294 return mv; 306 return mv;
@@ -320,7 +332,11 @@ public class StudentController extends BaseController { @@ -320,7 +332,11 @@ public class StudentController extends BaseController {
320 String classID = pd.getString("CLASS_ID"); 332 String classID = pd.getString("CLASS_ID");
321 pd = studentService.findById(pd); //根据ID读取 333 pd = studentService.findById(pd); //根据ID读取
322 pd.put("CLASS_ID", classID); 334 pd.put("CLASS_ID", classID);
323 - mv.setViewName("sunvote/student/student_edit2"); 335 + if(isChineseLanguageClient()){
  336 + mv.setViewName("sunvote/student/student_edit2");
  337 + }else{
  338 + mv.setViewName("sunvote/student/en_student_edit2");
  339 + }
324 mv.addObject("msg", "edit2"); 340 mv.addObject("msg", "edit2");
325 mv.addObject("pd", pd); 341 mv.addObject("pd", pd);
326 return mv; 342 return mv;
src/com/fh/controller/sunvote/teacher/TeacherController.java
@@ -166,7 +166,11 @@ public class TeacherController extends BaseController { @@ -166,7 +166,11 @@ public class TeacherController extends BaseController {
166 ModelAndView mv = this.getModelAndView(); 166 ModelAndView mv = this.getModelAndView();
167 PageData pd = new PageData(); 167 PageData pd = new PageData();
168 pd = this.getPageData(); 168 pd = this.getPageData();
169 - mv.setViewName("sunvote/teacher/teach_paper"); 169 + if(isChineseLanguageClient()){
  170 + mv.setViewName("sunvote/teacher/teach_paper");
  171 + }else{
  172 + mv.setViewName("sunvote/teacher/en_teach_paper");
  173 + }
170 pd.put("userId", userId); 174 pd.put("userId", userId);
171 mv.addObject("pd", pd); 175 mv.addObject("pd", pd);
172 return mv; 176 return mv;
@@ -204,7 +208,11 @@ public class TeacherController extends BaseController { @@ -204,7 +208,11 @@ public class TeacherController extends BaseController {
204 PageData pd = new PageData(); 208 PageData pd = new PageData();
205 pd = this.getPageData(); 209 pd = this.getPageData();
206 pd.put("userId", userId); 210 pd.put("userId", userId);
207 - mv.setViewName("sunvote/teacher/test_list"); 211 + if(isChineseLanguageClient()){
  212 + mv.setViewName("sunvote/teacher/test_list");
  213 + }else{
  214 + mv.setViewName("sunvote/teacher/en_test_list");
  215 + }
208 mv.addObject("pd", pd); 216 mv.addObject("pd", pd);
209 return mv; 217 return mv;
210 } 218 }
@@ -224,7 +232,11 @@ public class TeacherController extends BaseController { @@ -224,7 +232,11 @@ public class TeacherController extends BaseController {
224 pd = this.getPageData(); 232 pd = this.getPageData();
225 pd.put("userId", userId); 233 pd.put("userId", userId);
226 pd.put("subject_id", getSubjectID(userId)); 234 pd.put("subject_id", getSubjectID(userId));
227 - mv.setViewName("sunvote/teacher/paper_view"); 235 + if(isChineseLanguageClient()){
  236 + mv.setViewName("sunvote/teacher/paper_view");
  237 + }else{
  238 + mv.setViewName("sunvote/teacher/en_paper_view");
  239 + }
228 mv.addObject("pd", pd); 240 mv.addObject("pd", pd);
229 return mv; 241 return mv;
230 } 242 }
@@ -255,7 +267,11 @@ public class TeacherController extends BaseController { @@ -255,7 +267,11 @@ public class TeacherController extends BaseController {
255 PageData pd = new PageData(); 267 PageData pd = new PageData();
256 pd = this.getPageData(); 268 pd = this.getPageData();
257 pd.put("userId", userId); 269 pd.put("userId", userId);
258 - mv.setViewName("sunvote/teacher/paper_view2"); 270 + if(isChineseLanguageClient()){
  271 + mv.setViewName("sunvote/teacher/paper_view2");
  272 + }else{
  273 + mv.setViewName("sunvote/teacher/en_paper_view2");
  274 + }
259 mv.addObject("pd", pd); 275 mv.addObject("pd", pd);
260 return mv; 276 return mv;
261 } 277 }
@@ -356,7 +372,11 @@ public class TeacherController extends BaseController { @@ -356,7 +372,11 @@ public class TeacherController extends BaseController {
356 PageData pd = new PageData(); 372 PageData pd = new PageData();
357 pd = this.getPageData(); 373 pd = this.getPageData();
358 pd.put("userId", userId); 374 pd.put("userId", userId);
359 - mv.setViewName("sunvote/teacher/set_question"); 375 + if(isChineseLanguageClient()){
  376 + mv.setViewName("sunvote/teacher/set_question");
  377 + }else{
  378 + mv.setViewName("sunvote/teacher/en_set_question");
  379 + }
360 mv.addObject("pd", pd); 380 mv.addObject("pd", pd);
361 return mv; 381 return mv;
362 } 382 }
src/com/fh/controller/system/login/LoginController.java
@@ -110,7 +110,11 @@ public class LoginController extends BaseController { @@ -110,7 +110,11 @@ public class LoginController extends BaseController {
110 PageData pd = new PageData(); 110 PageData pd = new PageData();
111 pd = this.getPageData(); 111 pd = this.getPageData();
112 pd = this.setLoginPd(pd); // 设置登录页面的配置参数 112 pd = this.setLoginPd(pd); // 设置登录页面的配置参数
113 - mv.setViewName("system/index/login"); 113 + if(isChineseLanguageClient()){
  114 + mv.setViewName("system/index/login");
  115 + }else{
  116 + mv.setViewName("system/index/en_login");
  117 + }
114 mv.addObject("pd", pd); 118 mv.addObject("pd", pd);
115 return mv; 119 return mv;
116 } 120 }
@@ -272,7 +276,11 @@ public class LoginController extends BaseController { @@ -272,7 +276,11 @@ public class LoginController extends BaseController {
272 session.setAttribute(USERNAME + Const.ROLE_ID, 276 session.setAttribute(USERNAME + Const.ROLE_ID,
273 "teacher"); 277 "teacher");
274 session.setAttribute(Const.SESSION_USERNAME, USERNAME); // 放入用户名到session 278 session.setAttribute(Const.SESSION_USERNAME, USERNAME); // 放入用户名到session
275 - mv.setViewName("sunvote/teacher/teacher_main"); 279 + if(isChineseLanguageClient()){
  280 + mv.setViewName("sunvote/teacher/teacher_main");
  281 + }else{
  282 + mv.setViewName("sunvote/teacher/en_teacher_main");
  283 + }
276 mv.addObject("user", user); 284 mv.addObject("user", user);
277 pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); // 读取系统名称 285 pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); // 读取系统名称
278 if(pd.get("DEFAULTURL") == null){ 286 if(pd.get("DEFAULTURL") == null){
@@ -313,7 +321,11 @@ public class LoginController extends BaseController { @@ -313,7 +321,11 @@ public class LoginController extends BaseController {
313 mv.addObject("gradeInfos", gradeInfos); 321 mv.addObject("gradeInfos", gradeInfos);
314 mv.addObject("subjectInfos", subjectInfos); 322 mv.addObject("subjectInfos", subjectInfos);
315 session.setAttribute(Const.SESSION_USERNAME, USERNAME); // 放入用户名到session 323 session.setAttribute(Const.SESSION_USERNAME, USERNAME); // 放入用户名到session
316 - mv.setViewName("sunvote/admin/admin_main"); 324 + if(isChineseLanguageClient()){
  325 + mv.setViewName("sunvote/admin/admin_main");
  326 + }else{
  327 + mv.setViewName("sunvote/admin/en_admin_main");
  328 + }
317 mv.addObject("user", user); 329 mv.addObject("user", user);
318 pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); // 读取系统名称 330 pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); // 读取系统名称
319 if(pd.get("DEFAULTURL") == null){ 331 if(pd.get("DEFAULTURL") == null){
@@ -352,10 +364,18 @@ public class LoginController extends BaseController { @@ -352,10 +364,18 @@ public class LoginController extends BaseController {
352 mv.addObject("user", user); 364 mv.addObject("user", user);
353 mv.addObject("menuList", menuList); 365 mv.addObject("menuList", menuList);
354 } else { 366 } else {
355 - mv.setViewName("system/index/login");// session失效后跳转登录页面 367 + if(isChineseLanguageClient()){
  368 + mv.setViewName("system/index/login");
  369 + }else{
  370 + mv.setViewName("system/index/en_login");
  371 + }
356 } 372 }
357 } catch (Exception e) { 373 } catch (Exception e) {
358 - mv.setViewName("system/index/login"); 374 + if(isChineseLanguageClient()){
  375 + mv.setViewName("system/index/login");
  376 + }else{
  377 + mv.setViewName("system/index/en_login");
  378 + }
359 logger.error(e.getMessage(), e); 379 logger.error(e.getMessage(), e);
360 } 380 }
361 pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); // 读取系统名称 381 pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); // 读取系统名称
@@ -593,7 +613,11 @@ public class LoginController extends BaseController { @@ -593,7 +613,11 @@ public class LoginController extends BaseController {
593 pd = this.getPageData(); 613 pd = this.getPageData();
594 pd.put("msg", pd.getString("msg")); 614 pd.put("msg", pd.getString("msg"));
595 pd = this.setLoginPd(pd); // 设置登录页面的配置参数 615 pd = this.setLoginPd(pd); // 设置登录页面的配置参数
596 - mv.setViewName("system/index/login"); 616 + if(isChineseLanguageClient()){
  617 + mv.setViewName("system/index/login");
  618 + }else{
  619 + mv.setViewName("system/index/en_login");
  620 + }
597 mv.addObject("pd", pd); 621 mv.addObject("pd", pd);
598 return mv; 622 return mv;
599 } 623 }
src/com/fh/entity/Page.java
@@ -57,23 +57,56 @@ public class Page { @@ -57,23 +57,56 @@ public class Page {
57 this.currentPage = currentPage; 57 this.currentPage = currentPage;
58 } 58 }
59 59
  60 +
  61 + private String total = "共" ;
  62 + private String articles = "条";
  63 + private String frist = "首页" ;
  64 + private String previous = "上一页";
  65 + private String next = "下一页";
  66 + private String tail = "尾页" ;
  67 + private String jump = "跳转" ;
  68 + private String pageNumber = "页码";
  69 + private String displayNumber = "显示条数" ;
  70 + public void setLangIsChina(boolean is){
  71 + if(is){
  72 + total = "共" ;
  73 + articles = "条";
  74 + frist = "首页" ;
  75 + previous = "上一页";
  76 + next = "下一页";
  77 + tail = "尾页" ;
  78 + jump = "跳转" ;
  79 + pageNumber = "页码";
  80 + displayNumber = "显示条数" ;
  81 + }else{
  82 + total = "" ;
  83 + articles = " articles";
  84 + frist = "Frist" ;
  85 + previous = "Previous";
  86 + next = "Next";
  87 + tail = "Tail" ;
  88 + jump = "JUMP" ;
  89 + pageNumber = "Page number";
  90 + displayNumber = "Display Number" ;
  91 + }
  92 + }
60 //拼接分页 页面及JS函数 93 //拼接分页 页面及JS函数
61 public String getPageStr() { 94 public String getPageStr() {
62 StringBuffer sb = new StringBuffer(); 95 StringBuffer sb = new StringBuffer();
63 if(totalResult>0){ 96 if(totalResult>0){
64 sb.append(" <ul class=\"pagination pull-right no-margin\">\n"); 97 sb.append(" <ul class=\"pagination pull-right no-margin\">\n");
65 if(currentPage==1){ 98 if(currentPage==1){
66 - sb.append(" <li><a>共"+totalResult+"条</a></li>\n");  
67 - sb.append(" <li><span style='padding:0'><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></span></li>\n");  
68 - sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\" class=\"btn btn-mini btn-success\">跳转</a></li>\n");  
69 - sb.append(" <li><a>首页</a></li>\n");  
70 - sb.append(" <li><a>上页</a></li>\n"); 99 + sb.append(" <li><a>" + total +totalResult+articles + "</a></li>\n");
  100 + sb.append(" <li><span style='padding:0'><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"" + pageNumber + "\"/></span></li>\n");
  101 + sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\" class=\"btn btn-mini btn-success\">" + jump + "</a></li>\n");
  102 + sb.append(" <li><a>" + frist + "</a></li>\n");
  103 + sb.append(" <li><a>" + previous + "</a></li>\n");
71 }else{ 104 }else{
72 - sb.append(" <li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n");  
73 - sb.append(" <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n");  
74 - sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\" class=\"btn btn-mini btn-success\">跳转</a></li>\n");  
75 - sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage(1)\">首页</a></li>\n");  
76 - sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage-1)+")\">上页</a></li>\n"); 105 + sb.append(" <li><a>"+ total +"<font color=red>"+totalResult+"</font>" + articles + "</a></li>\n");
  106 + sb.append(" <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"" + pageNumber + "\"/></li>\n");
  107 + sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\" class=\"btn btn-mini btn-success\">" + jump + "</a></li>\n");
  108 + sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage(1)\">" + frist + "</a></li>\n");
  109 + sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage-1)+")\">" + previous + "</a></li>\n");
77 } 110 }
78 int showTag = 5;//分页标签显示数量 111 int showTag = 5;//分页标签显示数量
79 int startTag = 1; 112 int startTag = 1;
@@ -88,14 +121,14 @@ public class Page { @@ -88,14 +121,14 @@ public class Page {
88 sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+i+")\">"+i+"</a></li>\n"); 121 sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+i+")\">"+i+"</a></li>\n");
89 } 122 }
90 if(currentPage==totalPage){ 123 if(currentPage==totalPage){
91 - sb.append(" <li><a>下页</a></li>\n");  
92 - sb.append(" <li><a>尾页</a></li>\n"); 124 + sb.append(" <li><a>" + next + "</a></li>\n");
  125 + sb.append(" <li><a>" + tail + "</a></li>\n");
93 }else{ 126 }else{
94 - sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage+1)+")\">下页</a></li>\n");  
95 - sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+totalPage+")\">尾页</a></li>\n"); 127 + sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage+1)+")\">" + next + "</a></li>\n");
  128 + sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+totalPage+")\">" + tail + "</a></li>\n");
96 } 129 }
97 - sb.append(" <li><a>共"+totalPage+"页</a></li>\n");  
98 - sb.append(" <li><span class=\"enter\"><select title='显示条数' style=\"width:55px;float:left;height:32px;margin-top:1px;border:0\" onchange=\"changeCount(this.value)\">\n"); 130 + sb.append(" <li><a>" + total +totalResult+articles + "</a></li>\n");
  131 + sb.append(" <li><span class=\"enter\"><select title='" + displayNumber + "' style=\"width:55px;float:left;height:32px;margin-top:1px;border:0\" onchange=\"changeCount(this.value)\">\n");
99 sb.append(" <option value='"+showCount+"'>"+showCount+"</option>\n"); 132 sb.append(" <option value='"+showCount+"'>"+showCount+"</option>\n");
100 sb.append(" <option value='10'>10</option>\n"); 133 sb.append(" <option value='10'>10</option>\n");
101 sb.append(" <option value='20'>20</option>\n"); 134 sb.append(" <option value='20'>20</option>\n");
@@ -216,4 +249,5 @@ public class Page { @@ -216,4 +249,5 @@ public class Page {
216 this.pd = pd; 249 this.pd = pd;
217 } 250 }
218 251
  252 +
219 } 253 }