├── .classpath ├── .gitignore ├── .mymetadata ├── .project ├── .settings ├── .jsdtscope ├── com.genuitec.eclipse.core.prefs ├── com.genuitec.eclipse.j2eedt.core.prefs ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs ├── org.eclipse.m2e.core.prefs ├── org.eclipse.wst.common.component ├── org.eclipse.wst.common.project.facet.core.xml ├── org.eclipse.wst.jsdt.ui.superType.container ├── org.eclipse.wst.jsdt.ui.superType.name └── org.eclipse.wst.ws.service.policy.prefs ├── LICENSE ├── README.md ├── doc ├── J2EE基础框架介绍.pptx └── 权限模型.ppt ├── generatorConfig.xml ├── iframework.sql ├── license.txt ├── pom.xml ├── src ├── main │ ├── java │ │ └── com │ │ │ └── bupt │ │ │ └── core │ │ │ ├── base │ │ │ ├── action │ │ │ │ ├── DataRequest.java │ │ │ │ ├── DataResponse.java │ │ │ │ └── JqGridBaseAction.java │ │ │ ├── dto │ │ │ │ ├── ParameterDTO.java │ │ │ │ ├── ResouInfoDTO.java │ │ │ │ └── SelectOptionDTO.java │ │ │ ├── service │ │ │ │ └── BaseService.java │ │ │ └── util │ │ │ │ ├── ExcelExporter.java │ │ │ │ ├── ExcelWriter.java │ │ │ │ ├── ResourceParameter.java │ │ │ │ ├── ServiceReturnResult.java │ │ │ │ └── Utils.java │ │ │ ├── security │ │ │ ├── action │ │ │ │ └── AuthAction.java │ │ │ ├── dao │ │ │ │ ├── CourseMapper.java │ │ │ │ ├── CourseMapper.xml │ │ │ │ ├── PrivilegeMapper.java │ │ │ │ └── PrivilegeMapper.xml │ │ │ ├── filter │ │ │ │ ├── MyAccessDecisionManager.java │ │ │ │ ├── MyAccessDeniedHandlerImpl.java │ │ │ │ ├── MyFilterSecurityInterceptor.java │ │ │ │ ├── MyInvocationSecurityMetadataSource.java │ │ │ │ └── MyUsernamePasswordAuthenticationFilter.java │ │ │ ├── model │ │ │ │ ├── Course.java │ │ │ │ ├── Privilege.java │ │ │ │ └── PrivilegeExample.java │ │ │ ├── service │ │ │ │ ├── AuthService.java │ │ │ │ └── impl │ │ │ │ │ ├── AuthServiceImpl.java │ │ │ │ │ └── MyUserDetailServiceImpl.java │ │ │ └── tool │ │ │ │ ├── AntUrlPathMatcher.java │ │ │ │ └── UrlMatcher.java │ │ │ └── system │ │ │ ├── action │ │ │ ├── RoleAction.java │ │ │ └── UserAction.java │ │ │ ├── dao │ │ │ ├── DepartmentMapper.java │ │ │ ├── DepartmentMapper.xml │ │ │ ├── RoleMapper.java │ │ │ ├── RoleMapper.xml │ │ │ ├── UserInfoMapper.java │ │ │ ├── UserInfoMapper.xml │ │ │ ├── UserMapper.java │ │ │ ├── UserMapper.xml │ │ │ ├── UserRoleMapper.java │ │ │ └── UserRoleMapper.xml │ │ │ ├── dto │ │ │ ├── RoleDTO.java │ │ │ ├── UserAddForm.java │ │ │ ├── UserCheckForm.java │ │ │ ├── UserDTO.java │ │ │ └── UserModifyForm.java │ │ │ ├── model │ │ │ ├── Department.java │ │ │ ├── DepartmentExample.java │ │ │ ├── Role.java │ │ │ ├── RoleExample.java │ │ │ ├── User.java │ │ │ ├── UserExample.java │ │ │ ├── UserInfo.java │ │ │ ├── UserInfoExample.java │ │ │ └── UserRole.java │ │ │ └── service │ │ │ ├── RoleService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ ├── RoleServiceImpl.java │ │ │ └── UserServiceImpl.java │ ├── resources │ │ └── com │ │ │ └── bupt │ │ │ ├── config │ │ │ ├── ApplicationContext-security.xml │ │ │ ├── ApplicationContext.xml │ │ │ ├── dispatcher-servlet.xml │ │ │ ├── jdbc.properties │ │ │ └── log4j.properties │ │ │ └── mybatis │ │ │ ├── SqlMapConfig.xml │ │ │ ├── Test.xml │ │ │ └── config.properties │ └── webapp │ │ ├── 403.jsp │ │ ├── META-INF │ │ └── MANIFEST.MF │ │ ├── WEB-INF │ │ ├── jsp │ │ │ └── result.jsp │ │ └── web.xml │ │ ├── admin.jsp │ │ ├── application │ │ ├── modules │ │ │ ├── common │ │ │ │ ├── alert_dialog.jsp │ │ │ │ ├── confirm_dialog.jsp │ │ │ │ ├── export_dialog.jsp │ │ │ │ ├── failure_dialog.jsp │ │ │ │ ├── init.jsp │ │ │ │ ├── meta.jsp │ │ │ │ ├── progress_dialog.jsp │ │ │ │ ├── script.jsp │ │ │ │ └── style.jsp │ │ │ ├── core │ │ │ │ ├── header.jsp │ │ │ │ ├── indexContent.jsp │ │ │ │ ├── leftmenu.jsp │ │ │ │ ├── login.jsp │ │ │ │ └── main.jsp │ │ │ ├── course │ │ │ │ ├── course_learn_main.jsp │ │ │ │ ├── course_view.jsp │ │ │ │ ├── course_ware_add_dialog.jsp │ │ │ │ ├── course_ware_add_select.jsp │ │ │ │ ├── course_ware_main.jsp │ │ │ │ ├── course_ware_modify_dialog.jsp │ │ │ │ ├── file_view.jsp │ │ │ │ └── video_view.jsp │ │ │ └── system │ │ │ │ ├── system_change_password.jsp │ │ │ │ ├── system_organ_add_dialog.jsp │ │ │ │ ├── system_organ_main.jsp │ │ │ │ ├── system_organ_modify_dialog.jsp │ │ │ │ ├── system_role_main.jsp │ │ │ │ ├── system_user_add_dialog.jsp │ │ │ │ ├── system_user_check_dialog.jsp │ │ │ │ ├── system_user_import_diaog.jsp │ │ │ │ ├── system_user_main.jsp │ │ │ │ └── system_user_modify_dialog.jsp │ │ └── template │ │ │ └── themes │ │ │ └── base │ │ │ ├── css │ │ │ ├── common │ │ │ │ ├── form-style.css │ │ │ │ └── layout.css │ │ │ ├── jqgrid │ │ │ │ └── ui.jqgrid.css │ │ │ ├── jquery │ │ │ │ ├── jquery-ui-timepicker-addon.css │ │ │ │ ├── jquery.autocomplete.css │ │ │ │ ├── jquery.bigcolorpicker.css │ │ │ │ ├── jquery.multiselect2side.css │ │ │ │ └── start │ │ │ │ │ ├── images │ │ │ │ │ ├── bg.gif │ │ │ │ │ ├── bg_x.gif │ │ │ │ │ ├── bg_x.png │ │ │ │ │ ├── big_bgcolor.jpg │ │ │ │ │ ├── dropdown.active.jpg │ │ │ │ │ ├── dropdown.hover.jpg │ │ │ │ │ ├── dropdown.jpg │ │ │ │ │ ├── indicator.gif │ │ │ │ │ ├── nocolor.png │ │ │ │ │ ├── nocolor_over.png │ │ │ │ │ ├── ui-bg_flat_55_999999_40x100.png │ │ │ │ │ ├── ui-bg_flat_75_aaaaaa_40x100.png │ │ │ │ │ ├── ui-bg_glass_45_0078ae_1x400.png │ │ │ │ │ ├── ui-bg_glass_45_2c_1x400.png │ │ │ │ │ ├── ui-bg_glass_55_84c7fd_1x400.png │ │ │ │ │ ├── ui-bg_glass_55_f8da4e_1x400.png │ │ │ │ │ ├── ui-bg_glass_75_79c9ec_1x400.png │ │ │ │ │ ├── ui-bg_glass_75_d3e0fe_1x400.png │ │ │ │ │ ├── ui-bg_gloss-wave_45_e14f1c_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_50_6eac2c_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_75_2191c0_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_75_2191c0_500x100_.png │ │ │ │ │ ├── ui-bg_inset-hard_100_fcfdfd_1x100.png │ │ │ │ │ ├── ui-icons_0078ae_256x240.png │ │ │ │ │ ├── ui-icons_056b93_256x240.png │ │ │ │ │ ├── ui-icons_d8e7f3_256x240.png │ │ │ │ │ ├── ui-icons_e0fdff_256x240.png │ │ │ │ │ ├── ui-icons_f5e175_256x240.png │ │ │ │ │ ├── ui-icons_f7a50d_256x240.png │ │ │ │ │ └── ui-icons_fcd113_256x240.png │ │ │ │ │ └── jquery-ui-1.8.20.custom.css │ │ │ ├── loading │ │ │ │ ├── images │ │ │ │ │ ├── loading-bars.gif │ │ │ │ │ └── loading.gif │ │ │ │ └── showLoading.css │ │ │ ├── select2 │ │ │ │ ├── select2-spinner.gif │ │ │ │ ├── select2.css │ │ │ │ ├── select2.png │ │ │ │ └── select2x2.png │ │ │ └── zTree │ │ │ │ ├── img │ │ │ │ ├── diy │ │ │ │ │ ├── 1_close.png │ │ │ │ │ ├── 1_open.png │ │ │ │ │ ├── 2.png │ │ │ │ │ ├── 3.png │ │ │ │ │ ├── 4.png │ │ │ │ │ ├── 5.png │ │ │ │ │ ├── 6.png │ │ │ │ │ ├── 7.png │ │ │ │ │ ├── 8.png │ │ │ │ │ └── 9.png │ │ │ │ ├── ico_2.png │ │ │ │ ├── line_conn.gif │ │ │ │ ├── loading.gif │ │ │ │ ├── zTreeStandard.gif │ │ │ │ ├── zTreeStandard.png │ │ │ │ └── zTreeStandard_tabs.gif │ │ │ │ ├── zTreeStyle.aacss │ │ │ │ └── zTreeStyle.css │ │ │ ├── images │ │ │ ├── arr.gif │ │ │ ├── arr.png │ │ │ ├── bg.png │ │ │ ├── bg_2.png │ │ │ ├── bg_x.png │ │ │ ├── bg_y.png │ │ │ ├── bg_y2.png │ │ │ ├── bottomCenter.png │ │ │ ├── chapter.gif │ │ │ ├── chapterGray.gif │ │ │ ├── content-add.png │ │ │ ├── content-button-disable.jpg │ │ │ ├── content-section-hr-head.gif │ │ │ ├── course.gif │ │ │ ├── courseGray.gif │ │ │ ├── graph.png │ │ │ ├── ico_2.png │ │ │ ├── icon.gif │ │ │ ├── inform.png │ │ │ ├── input_bg.jpg │ │ │ ├── input_bg.png │ │ │ ├── leftMenuB.png │ │ │ ├── level140.gif │ │ │ ├── level180.gif │ │ │ ├── loading.gif │ │ │ ├── login_bg.jpg │ │ │ ├── login_btn.jpg │ │ │ ├── login_btn_2.jpg │ │ │ ├── main-li-normal.gif │ │ │ ├── modify.png │ │ │ ├── pageCurr.png │ │ │ ├── page_bg_2.jpg │ │ │ ├── page_bg_2_2.jpg │ │ │ ├── pop_close_1.jpg │ │ │ ├── pop_close_2.jpg │ │ │ ├── pop_t_bg.jpg │ │ │ ├── pop_tab_bg_1.jpg │ │ │ ├── pop_tab_bg_2.jpg │ │ │ ├── qLevel140.gif │ │ │ ├── reset.gif │ │ │ ├── rightBox.png │ │ │ ├── search_2.png │ │ │ ├── section.gif │ │ │ ├── sectionGray.gif │ │ │ ├── slide-button-active.gif │ │ │ ├── slide-button.gif │ │ │ ├── tip.gif │ │ │ ├── toorIcon.png │ │ │ ├── treeBg.png │ │ │ ├── user_check.gif │ │ │ ├── user_del.gif │ │ │ ├── user_modify.gif │ │ │ ├── ware.gif │ │ │ ├── wareGray.gif │ │ │ └── welcome.png │ │ │ └── js │ │ │ ├── common │ │ │ ├── commonPageJS.js │ │ │ ├── export.js │ │ │ ├── form_cn.js │ │ │ ├── form_customer_validate.js │ │ │ ├── json2.js │ │ │ └── layout.js │ │ │ ├── flot │ │ │ ├── excanvas.min.js │ │ │ └── jquery.flot.js │ │ │ ├── jqgrid │ │ │ ├── i18n │ │ │ │ ├── grid.locale-cn.js │ │ │ │ └── grid.locale-en.js │ │ │ └── jquery.jqGrid.min.js │ │ │ ├── jquery │ │ │ ├── jquery-1.7.2.min.js │ │ │ ├── jquery-ui-1.8.20.custom.min.js │ │ │ ├── jquery-ui-timepicker-addon.js │ │ │ ├── jquery.autocomplete.min.js │ │ │ ├── jquery.bgiframe.min.js │ │ │ ├── jquery.bigcolorpicker.js │ │ │ ├── jquery.cookie.js │ │ │ ├── jquery.effects.fade.js │ │ │ ├── jquery.form.js │ │ │ ├── jquery.multiselect2side.js │ │ │ ├── jquery.ui.core.js │ │ │ ├── jquery.ui.draggable.js │ │ │ ├── jquery.ui.mouse.js │ │ │ ├── jquery.ui.widget.js │ │ │ ├── jquery.validate.js │ │ │ ├── jquery.validate.min.js │ │ │ └── simpla.jquery.configuration.js │ │ │ ├── jquery_sideBar │ │ │ ├── effects.js │ │ │ ├── prototype.js │ │ │ └── side-bar.js │ │ │ ├── loading │ │ │ ├── jquery.showLoading.js │ │ │ ├── jquery.showLoading.min.js │ │ │ └── lazyload-min.js │ │ │ ├── main │ │ │ ├── course_learn_main.js │ │ │ ├── course_ware_main.js │ │ │ ├── exam_analysis_main.js │ │ │ ├── exam_info_main.js │ │ │ ├── exam_online_main.js │ │ │ ├── exam_paper_main.js │ │ │ ├── exam_paper_tactic_main.js │ │ │ ├── problem_answer_main.js │ │ │ ├── problem_raise_main.js │ │ │ ├── question_main.js │ │ │ ├── question_test_main.js │ │ │ ├── question_type_main.js │ │ │ ├── system_organ_main.js │ │ │ └── system_user_main.js │ │ │ ├── select2 │ │ │ ├── select2.js │ │ │ └── select2_locale_zh-CN.js │ │ │ ├── system │ │ │ ├── system_organ_main.js │ │ │ ├── system_role_main.js │ │ │ └── system_user_main.js │ │ │ └── zTree │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── other.jsp │ │ └── timeout.jsp └── test │ └── java │ └── com │ └── bupt │ ├── app │ └── security │ │ └── dao │ │ ├── DepartmentMapperTest.java │ │ ├── RoleMapperTest.java │ │ └── UserMapperTest.java │ └── core │ └── system │ └── dao │ └── RoleMapperTest.java └── 遗留问题.txt /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /bin 3 | *.DS_Store 4 | *.svn -------------------------------------------------------------------------------- /.mymetadata: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Base Framework For JavaEE 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.jsdt.core.javascriptValidator 10 | 11 | 12 | 13 | 14 | com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator 25 | 26 | 27 | 28 | 29 | com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator 30 | 31 | 32 | 33 | 34 | org.eclipse.wst.common.project.facet.core.builder 35 | 36 | 37 | 38 | 39 | org.eclipse.wst.validation.validationbuilder 40 | 41 | 42 | 43 | 44 | com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder 45 | 46 | 47 | 48 | 49 | org.eclipse.m2e.core.maven2Builder 50 | 51 | 52 | 53 | 54 | 55 | com.genuitec.eclipse.ast.deploy.core.deploymentnature 56 | com.genuitec.eclipse.j2eedt.core.webnature 57 | org.eclipse.jem.workbench.JavaEMFNature 58 | org.eclipse.wst.common.modulecore.ModuleCoreNature 59 | org.eclipse.jdt.core.javanature 60 | org.eclipse.m2e.core.maven2Nature 61 | org.eclipse.wst.common.project.facet.core.nature 62 | org.eclipse.wst.jsdt.core.jsNature 63 | 64 | 65 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.settings/com.genuitec.eclipse.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | validator.Checked=src/main/webapp/application/template/themes/base/js,src/main/webapp/application/modules/common/script.jsp 3 | validator.Revalidate=true 4 | validator.Unchecked= 5 | -------------------------------------------------------------------------------- /.settings/com.genuitec.eclipse.j2eedt.core.prefs: -------------------------------------------------------------------------------- 1 | defaultTldInfo=f\=http\://java.sun.com/jsf/core;http\://java.sun.com/jsf/html\=h;http\://struts.apache.org/tags-bean\=bean;http\://java.sun.com/jsp/jstl/fmt\=fmt;bean\=http\://struts.apache.org/tags-bean;nested\=http\://struts.apache.org/tags-nested;http\://java.sun.com/jsp/jstl/sql\=sql;fmt\=http\://java.sun.com/jsp/jstl/fmt;c\=http\://java.sun.com/jsp/jstl/core;http\://struts.apache.org/tags-logic\=logic;http\://java.sun.com/jsp/jstl/xml\=x;http\://java.sun.com/jsp/jstl/core\=c;logic\=http\://struts.apache.org/tags-logic;h\=http\://java.sun.com/jsf/html;http\://struts.apache.org/tags-tiles\=tiles;http\://java.sun.com/jsp/jstl/functions\=fn;tiles\=http\://struts.apache.org/tags-tiles;sql\=http\://java.sun.com/jsp/jstl/sql;http\://struts.apache.org/tags-html\=html;html\=http\://struts.apache.org/tags-html;http\://struts.apache.org/tags-nested\=nested;http\://java.sun.com/jsf/core\=f;fn\=http\://java.sun.com/jsp/jstl/functions;x\=http\://java.sun.com/jsp/jstl/xml 2 | eclipse.preferences.version=1 3 | useAssemblyMapping=true 4 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//.settings/org.eclipse.core.resources.prefs=UTF-8 3 | encoding//src/main/java=UTF-8 4 | encoding//src/main/resources=UTF-8 5 | encoding//src/main/resources/com/bupt/config/log4j.properties=UTF-8 6 | encoding//src/test/java=UTF-8 7 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.6 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 12 | org.eclipse.jdt.core.compiler.source=1.6 13 | -------------------------------------------------------------------------------- /.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.ws.service.policy.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.wst.ws.service.policy.projectEnabled=false 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 tong li 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | iframework 2 | ========== 3 | 4 | 带有权限控制机制的JAVAEE基本框架 5 | -------------------------------------------------------------------------------- /doc/J2EE基础框架介绍.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/doc/J2EE基础框架介绍.pptx -------------------------------------------------------------------------------- /doc/权限模型.ppt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/doc/权限模型.ppt -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/action/DataRequest.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.action; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | 5 | /** 6 | * 保存JqGrid的公共请求头和导出数据时数据的基础信息,该类主要在数据导出时使用 7 | * @author litong 2013-8-23 下午5:26:14 8 | * 9 | */ 10 | public class DataRequest implements java.io.Serializable { 11 | 12 | private static final long serialVersionUID = 1L; 13 | 14 | // 当前页码 默认page 15 | private int pageNo; 16 | // 页面可显示行数 17 | private int rows; 18 | // 用于排序的列名 默认sidx 19 | private String sortName; 20 | // 排序的方式desc/asc 默认sord 21 | private String sortOrder; 22 | // 是否是搜索请求 默认_search 23 | private boolean search; 24 | // 已经发送的请求的次数 25 | private String nd; 26 | // 导出文件名 27 | private String fileName; 28 | // 选择的导出列 29 | private String selectCols; 30 | // 导出时候的导出条数 31 | private int maxRecords; 32 | // reqeust 33 | private HttpServletRequest request; 34 | 35 | public DataRequest() { 36 | 37 | } 38 | 39 | public DataRequest(int pageNo, int rows, String sortName, String sortOrder, 40 | boolean search, String nd, String fileName, String selectCols, 41 | int maxRecords, HttpServletRequest request) { 42 | super(); 43 | this.pageNo = pageNo; 44 | this.rows = rows; 45 | this.sortName = sortName; 46 | this.sortOrder = sortOrder; 47 | this.search = search; 48 | this.nd = nd; 49 | this.fileName = fileName; 50 | this.selectCols = selectCols; 51 | this.maxRecords = maxRecords; 52 | this.request = request; 53 | } 54 | 55 | public int getPageNo() { 56 | return pageNo; 57 | } 58 | 59 | public int getRows() { 60 | return rows; 61 | } 62 | 63 | public String getSortName() { 64 | return sortName; 65 | } 66 | 67 | public String getSortOrder() { 68 | return sortOrder; 69 | } 70 | 71 | public boolean isSearch() { 72 | return search; 73 | } 74 | 75 | public String getNd() { 76 | return nd; 77 | } 78 | 79 | public void setPageNo(int pageNo) { 80 | this.pageNo = pageNo; 81 | } 82 | 83 | public void setRows(int rows) { 84 | this.rows = rows; 85 | } 86 | 87 | public void setSortName(String sortName) { 88 | this.sortName = sortName; 89 | } 90 | 91 | public void setSortOrder(String sortOrder) { 92 | this.sortOrder = sortOrder; 93 | } 94 | 95 | public void setSearch(boolean search) { 96 | this.search = search; 97 | } 98 | 99 | public void setNd(String nd) { 100 | this.nd = nd; 101 | } 102 | 103 | public static long getSerialversionuid() { 104 | return serialVersionUID; 105 | } 106 | 107 | public String getFileName() { 108 | return fileName; 109 | } 110 | 111 | public String getSelectCols() { 112 | return selectCols; 113 | } 114 | 115 | public int getMaxRecords() { 116 | return maxRecords; 117 | } 118 | 119 | public void setFileName(String fileName) { 120 | this.fileName = fileName; 121 | } 122 | 123 | public void setSelectCols(String selectCols) { 124 | this.selectCols = selectCols; 125 | } 126 | 127 | public void setMaxRecords(int maxRecords) { 128 | this.maxRecords = maxRecords; 129 | } 130 | 131 | public HttpServletRequest getRequest() { 132 | return request; 133 | } 134 | 135 | public void setRequest(HttpServletRequest request) { 136 | this.request = request; 137 | } 138 | 139 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/action/DataResponse.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.action; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | /** 7 | * 保存返回给JqGrid表格的信息 8 | * 9 | * @author litong 2013-8-23 下午5:26:14 10 | * 11 | */ 12 | public class DataResponse { 13 | 14 | // 需要显示的数据集 15 | private List contents; 16 | // 每页显示数量 17 | private int pageNo; 18 | // 数据总数 默认records 19 | private int totalRecords; 20 | // 可显示的页数 默认total 21 | private int totalPages; 22 | // 自定义数据 23 | private Map userdata; 24 | 25 | public int getPageNo() { 26 | return pageNo; 27 | } 28 | 29 | public int getTotalRecords() { 30 | return totalRecords; 31 | } 32 | 33 | public int getTotalPages() { 34 | return totalPages; 35 | } 36 | 37 | public Map getUserdata() { 38 | return userdata; 39 | } 40 | 41 | public List getContents() { 42 | return contents; 43 | } 44 | 45 | public void setContents(List contents) { 46 | this.contents = contents; 47 | } 48 | 49 | public void setPageNo(int pageNo) { 50 | this.pageNo = pageNo; 51 | } 52 | 53 | public void setTotalRecords(int totalRecords) { 54 | this.totalRecords = totalRecords; 55 | } 56 | 57 | public void setTotalPages(int totalPages) { 58 | this.totalPages = totalPages; 59 | } 60 | 61 | public void setUserdata(Map userdata) { 62 | this.userdata = userdata; 63 | } 64 | 65 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/dto/ParameterDTO.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.dto; 2 | /** 3 | * 数据导出时用以保存生成的EXCEL数据的基础信息 4 | * @author litong 5 | * 6 | */ 7 | public class ParameterDTO { 8 | //属性在model类中的名称,必填 9 | private String name; 10 | //属性在数据库中的字段名,必填 11 | private String dbName; 12 | //属性在界面上显示的名称,必填 13 | private String showName; 14 | //是否在页面上显示,默认为false 15 | private boolean show; 16 | //属性的类型:string,int,float等java基础类型,必填 17 | private String type; 18 | //格式化类型 19 | private String formatType; 20 | //格式化类型名称 21 | private String formatter; 22 | //有哪些类型资源拥有此属性,COMMON代表所有资源共有属性,有COMMON就不要再填其它类型了,必填 23 | private String resouType; 24 | //导出文档中的宽度,默认为4000 25 | private int width; 26 | //是否选中,默认为false 27 | private boolean selected; 28 | //是否能够批量修改,默认为false 29 | private boolean modify; 30 | 31 | public ParameterDTO(int width, String showName){ 32 | this.width = width; 33 | this.showName = showName; 34 | } 35 | public ParameterDTO(){ 36 | 37 | } 38 | public String getName() { 39 | return name; 40 | } 41 | public void setName(String name) { 42 | this.name = name; 43 | } 44 | public String getDbName() { 45 | return dbName; 46 | } 47 | public void setDbName(String dbName) { 48 | this.dbName = dbName; 49 | } 50 | public String getShowName() { 51 | return showName; 52 | } 53 | public void setShowName(String showName) { 54 | this.showName = showName; 55 | } 56 | public String getType() { 57 | return type; 58 | } 59 | public void setType(String type) { 60 | this.type = type; 61 | } 62 | public String getFormatType() { 63 | return formatType; 64 | } 65 | public void setFormatType(String formatType) { 66 | this.formatType = formatType; 67 | } 68 | public String getFormatter() { 69 | return formatter; 70 | } 71 | public void setFormatter(String formatter) { 72 | this.formatter = formatter; 73 | } 74 | public String getResouType() { 75 | return resouType; 76 | } 77 | public void setResouType(String resouType) { 78 | this.resouType = resouType; 79 | } 80 | public int getWidth() { 81 | return width; 82 | } 83 | public void setWidth(int width) { 84 | this.width = width; 85 | } 86 | public boolean isShow() { 87 | return show; 88 | } 89 | public void setShow(boolean show) { 90 | this.show = show; 91 | } 92 | public boolean isSelected() { 93 | return selected; 94 | } 95 | public void setSelected(boolean selected) { 96 | this.selected = selected; 97 | } 98 | public boolean isModify() { 99 | return modify; 100 | } 101 | public void setModify(boolean modify) { 102 | this.modify = modify; 103 | } 104 | @Override 105 | public String toString() { 106 | return "ParameterDto [name=" + name + ", dbName=" + dbName 107 | + ", showName=" + showName + ", show=" + show + ", type=" 108 | + type + ", formatType=" + formatType + ", formatter=" 109 | + formatter + ", resouType=" + resouType + ", width=" + width 110 | + ", selected=" + selected + ", modify=" + modify + "]"; 111 | } 112 | 113 | } 114 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/dto/ResouInfoDTO.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.dto; 2 | 3 | import java.util.LinkedHashMap; 4 | import java.util.Map; 5 | 6 | public class ResouInfoDTO { 7 | //资源名称 8 | private String name; 9 | //model类名 10 | private String model; 11 | //数据库表名 12 | private String table; 13 | //所有属性序列 14 | private Map params; 15 | 16 | 17 | public String getName() { 18 | return name; 19 | } 20 | public void setName(String name) { 21 | this.name = name; 22 | } 23 | public String getModel() { 24 | return model; 25 | } 26 | public void setModel(String model) { 27 | this.model = model; 28 | } 29 | public String getTable() { 30 | return table; 31 | } 32 | public void setTable(String table) { 33 | this.table = table; 34 | } 35 | public Map getParams() { 36 | if(this.params == null){ 37 | this.params = new LinkedHashMap(); 38 | } 39 | return params; 40 | } 41 | public void setParams(Map params) { 42 | this.params = params; 43 | } 44 | @Override 45 | public String toString() { 46 | return "ResouInfoDto [name=" + name + ", model=" + model + ", table=" 47 | + table + ", params=" + params + "]"; 48 | } 49 | 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/dto/SelectOptionDTO.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.dto; 2 | /** 3 | * 保存传给前端的下拉列表的信息 4 | * @author litong 5 | * 6 | */ 7 | public class SelectOptionDTO { 8 | private String id; 9 | // 名称 10 | private String name; 11 | // 编号 12 | private String value; 13 | // 是否被选中 14 | private boolean selected; 15 | 16 | public String getId() { 17 | return id; 18 | } 19 | 20 | public void setId(String id) { 21 | this.id = id; 22 | } 23 | 24 | public String getName() { 25 | return name; 26 | } 27 | 28 | public void setName(String name) { 29 | this.name = name; 30 | } 31 | 32 | public String getValue() { 33 | return value; 34 | } 35 | 36 | public void setValue(String value) { 37 | this.value = value; 38 | } 39 | 40 | public boolean isSelected() { 41 | return selected; 42 | } 43 | 44 | public void setSelected(boolean selected) { 45 | this.selected = selected; 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/service/BaseService.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.service; 2 | 3 | import java.util.List; 4 | 5 | import javax.servlet.http.HttpServletRequest; 6 | 7 | /** 8 | * 基础业务逻辑类,提供基于JqGrid查询的基本业务逻辑接口 9 | * @author litong 10 | * 11 | * @param 12 | * @param 13 | */ 14 | public interface BaseService { 15 | 16 | /** 17 | * 根据主键删除记录 18 | * @param id 19 | * @return 删除记录的条数 20 | * @author 李彤 2013-8-27 下午9:42:19 21 | */ 22 | int deleteByPrimaryKey(Integer id); 23 | 24 | /** 25 | * 插入记录 26 | * @param record 27 | * @return 影响的记录条数 28 | * @author 李彤 2013-8-27 下午9:43:13 29 | */ 30 | int insert(T record); 31 | 32 | /** 33 | * 插入不为null的数据 34 | * @param record 35 | * @return 影响的记录条数 36 | * @author 李彤 2013-8-27 下午9:43:24 37 | */ 38 | int insertSelective(T record); 39 | 40 | /** 41 | * 根据主键查找记录 42 | * @param id 43 | * @return 影响的记录条数 44 | * @author 李彤 2013-8-27 下午9:44:34 45 | */ 46 | T selectByPrimaryKey(Integer id); 47 | 48 | /** 49 | * 根据主键更新不为null的字段 50 | * @param record 51 | * @return 影响的记录条数 52 | * @author 李彤 2013-8-27 下午9:45:35 53 | */ 54 | int updateByPrimaryKeySelective(T record); 55 | 56 | /** 57 | * 根据主键更新字段 58 | * @param record 59 | * @return 影响的记录条数 60 | * @author 李彤 2013-8-27 下午9:46:05 61 | */ 62 | int updateByPrimaryKey(T record); 63 | 64 | /** 65 | * 获取总记录数 66 | * @param request 67 | * @param search 68 | * @return 69 | * @author 李彤 2013-8-27 下午9:46:23 70 | */ 71 | int getTotalRecords(HttpServletRequest request, Boolean search); 72 | 73 | /** 74 | * 列出JqGrid表格中的详细信息 75 | * @param start 从第几行开始查 76 | * @param limit 查多少行 77 | * @param sortName 以哪个字段排序 78 | * @param sortOrder asc,desc 79 | * @param request HttpServletRequest 80 | * @return JqGrid表格中的详细信息 81 | * @author 李彤 2013-8-27 下午9:47:02 82 | */ 83 | public List listResults(int start, int limit, String sortName, 84 | String sortOrder, HttpServletRequest request, Boolean search) ; 85 | 86 | } 87 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/util/ResourceParameter.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.util; 2 | 3 | import java.util.HashMap; 4 | import java.util.Iterator; 5 | import java.util.Map; 6 | 7 | import org.dom4j.Document; 8 | import org.dom4j.DocumentException; 9 | import org.dom4j.Element; 10 | import org.dom4j.io.SAXReader; 11 | 12 | import com.bupt.core.base.dto.ParameterDTO; 13 | import com.bupt.core.base.dto.ResouInfoDTO; 14 | /** 15 | * 读取导出数据时的配置文件 16 | * @author litong 17 | * 18 | */ 19 | public class ResourceParameter{ 20 | 21 | private ResourceParameter(){ 22 | throw new AssertionError(); 23 | } 24 | 25 | public static Map resouInfos = new HashMap(); 26 | 27 | static{ 28 | //读取resou_info.xml 29 | SAXReader localReader = new SAXReader(); 30 | Document localDocument; 31 | try { 32 | localDocument = localReader.read(ResourceParameter.class.getClassLoader().getResourceAsStream("com/bupt/config/export_info.xml")); 33 | Element resouInfos = localDocument.getRootElement(); 34 | 35 | //遍历resou-info标签 36 | for(Iterator it = resouInfos.elementIterator("resou-info"); it.hasNext();){ 37 | Element resouInfo = (Element)it.next(); 38 | ResouInfoDTO ridto = new ResouInfoDTO(); 39 | String name = resouInfo.attributeValue("name"); 40 | String model = resouInfo.attributeValue("model"); 41 | String table = resouInfo.attributeValue("table"); 42 | 43 | if(name != null) ridto.setName(name); 44 | if(model != null) ridto.setModel(model); 45 | if(table != null) ridto.setTable(table); 46 | 47 | for(Iterator pit = resouInfo.elementIterator("parameter"); pit.hasNext();){ 48 | Element parameter = (Element)pit.next(); 49 | ParameterDTO pdto = new ParameterDTO(); 50 | String pname = parameter.attributeValue("name"); 51 | String dbName = parameter.attributeValue("db-name"); 52 | String showName = parameter.attributeValue("show-name"); 53 | String type = parameter.attributeValue("type"); 54 | String formatType = parameter.attributeValue("format-type"); 55 | String formatter = parameter.attributeValue("formatter"); 56 | String resouType = parameter.attributeValue("resou-type"); 57 | String width = parameter.attributeValue("width"); 58 | String show = parameter.attributeValue("show"); 59 | String selected = parameter.attributeValue("selected"); 60 | String modify = parameter.attributeValue("modify"); 61 | 62 | if(pname != null) pdto.setName(pname); 63 | if(dbName != null) pdto.setDbName(dbName); 64 | if(showName != null) pdto.setShowName(showName); 65 | if(type != null) pdto.setType(type); 66 | if(formatType != null) pdto.setFormatType(formatType); 67 | if(formatter != null) pdto.setFormatter(formatter); 68 | if(resouType != null) pdto.setResouType(resouType); 69 | if(width != null && !"".equals(width)) pdto.setWidth(Integer.valueOf(width)); 70 | if(show != null && !"".equals(show)) pdto.setShow(Boolean.valueOf(show)); 71 | if(selected != null && !"".equals(selected)) pdto.setSelected(Boolean.valueOf(selected)); 72 | if(modify != null && !"".equals(modify)) pdto.setModify(Boolean.valueOf(modify)); 73 | 74 | ridto.getParams().put(pname, pdto); 75 | } 76 | ResourceParameter.resouInfos.put(name, ridto); 77 | } } catch (DocumentException e) { 78 | e.printStackTrace(); 79 | } 80 | } 81 | } 82 | 83 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/base/util/ServiceReturnResult.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.base.util; 2 | /** 3 | * 错误状态 4 | * @author litong 5 | * 6 | */ 7 | public class ServiceReturnResult { 8 | public static final String SERVICE_OP_SUCC = "success"; 9 | public static final String SERVICE_OP_FAIL = "failure"; 10 | public static final String SERVICE_OP_ERR = "error"; 11 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/action/AuthAction.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.action; 2 | 3 | import java.util.List; 4 | 5 | import javax.annotation.Resource; 6 | import javax.servlet.http.HttpServletRequest; 7 | 8 | import org.apache.commons.logging.Log; 9 | import org.apache.commons.logging.LogFactory; 10 | import org.springframework.stereotype.Controller; 11 | import org.springframework.ui.ModelMap; 12 | import org.springframework.web.bind.annotation.RequestMapping; 13 | import org.springframework.web.bind.annotation.ResponseBody; 14 | 15 | import com.bupt.core.security.dao.CourseMapper; 16 | import com.bupt.core.security.model.Course; 17 | import com.bupt.core.security.service.AuthService; 18 | @Controller 19 | @RequestMapping("/auth") 20 | public class AuthAction { 21 | //将spring 配置文件中的bean 通过setter注入进来 22 | @Resource(name="authService") 23 | private AuthService authService=null; 24 | @Resource(name="courseMapper") 25 | private CourseMapper courseMapper; 26 | private final Log log = LogFactory.getLog(getClass()); 27 | private boolean debug = log.isDebugEnabled(); 28 | 29 | @RequestMapping("/login.do") 30 | public String login(HttpServletRequest request, ModelMap modelMap) 31 | throws Exception { 32 | String username = request.getParameter("username"); 33 | String password = request.getParameter("password"); 34 | System.out.println(username+password); 35 | boolean flag= authService.validate(username, password); 36 | if(debug){ 37 | log.debug("$$$$$$$$$$$$$$$$$$$$$you want to check the result.jsp+++++++++++++"); 38 | log.debug("$$$$$$$$$$$$$$$$$$$$$ ready to insert +++++++++++++"); 39 | log.debug("$$$$$$$$$$$$$$$$$$$$$ insert completed +++++++++++++"); 40 | log.debug(flag); 41 | } 42 | return "result"; 43 | } 44 | 45 | //获取当前用户的信息 46 | //UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 47 | 48 | //返回json对象示例 49 | @RequestMapping("/courseWare_courseTreeList.do") 50 | @ResponseBody 51 | public List getCourseTreeList() 52 | throws Exception { 53 | List list_show = courseMapper.getCourseList(); 54 | return list_show; 55 | } 56 | 57 | public AuthService getAuthService() { 58 | return authService; 59 | } 60 | 61 | public void setAuthService(AuthService authService) { 62 | this.authService = authService; 63 | } 64 | 65 | 66 | 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/dao/CourseMapper.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.dao; 2 | 3 | import java.util.List; 4 | 5 | import com.bupt.core.security.model.Course; 6 | 7 | 8 | public interface CourseMapper { 9 | List getCourseList(); 10 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/dao/CourseMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/dao/PrivilegeMapper.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.dao; 2 | 3 | import com.bupt.core.security.model.Privilege; 4 | import com.bupt.core.security.model.PrivilegeExample; 5 | 6 | import java.util.List; 7 | import org.apache.ibatis.annotations.Param; 8 | 9 | public interface PrivilegeMapper { 10 | 11 | /** 12 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 13 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 14 | */ 15 | int countByExample(PrivilegeExample example); 16 | 17 | /** 18 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 19 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 20 | */ 21 | int deleteByExample(PrivilegeExample example); 22 | 23 | /** 24 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 25 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 26 | */ 27 | int deleteByPrimaryKey(Integer privilegeId); 28 | 29 | /** 30 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 31 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 32 | */ 33 | int insert(Privilege record); 34 | 35 | /** 36 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 37 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 38 | */ 39 | int insertSelective(Privilege record); 40 | 41 | /** 42 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 43 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 44 | */ 45 | List selectByExample(PrivilegeExample example); 46 | 47 | /** 48 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 49 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 50 | */ 51 | Privilege selectByPrimaryKey(Integer privilegeId); 52 | 53 | /** 54 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 55 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 56 | */ 57 | int updateByExampleSelective(@Param("record") Privilege record, 58 | @Param("example") PrivilegeExample example); 59 | 60 | /** 61 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 62 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 63 | */ 64 | int updateByExample(@Param("record") Privilege record, 65 | @Param("example") PrivilegeExample example); 66 | 67 | /** 68 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 69 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 70 | */ 71 | int updateByPrimaryKeySelective(Privilege record); 72 | 73 | /** 74 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_privilege 75 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 76 | */ 77 | int updateByPrimaryKey(Privilege record); 78 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/filter/MyAccessDecisionManager.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.filter; import java.util.Collection; import java.util.Iterator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.security.access.AccessDecisionManager; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.access.ConfigAttribute; import org.springframework.security.access.SecurityConfig; import org.springframework.security.authentication.InsufficientAuthenticationException; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; public class MyAccessDecisionManager implements AccessDecisionManager { private final Log log = LogFactory.getLog(getClass()); private boolean debug = log.isDebugEnabled(); //In this method, need to compare authentication with configAttributes. // 1, A object is a URL, a filter was find permission configuration by this URL, and pass to here. // 2, Check authentication has attribute in permission configuration (configAttributes) // 3, If not match corresponding authentication, throw a AccessDeniedException. public void decide(Authentication authentication, Object object, Collection configAttributes) throws AccessDeniedException, InsufficientAuthenticationException { if(configAttributes == null){ return ; } if(debug){ log.debug(object.toString()); //object is a URL. } Iterator ite=configAttributes.iterator(); while(ite.hasNext()){ ConfigAttribute ca=ite.next(); String needRole=((SecurityConfig)ca).getAttribute(); //authentication 当前用户已有的角色 for(GrantedAuthority ga:authentication.getAuthorities()){ if(needRole.equals(ga.getAuthority())){ //ga is user's role. return; } } } throw new AccessDeniedException("no right"); } public boolean supports(ConfigAttribute attribute) { // TODO Auto-generated method stub return true; } public boolean supports(Class clazz) { return true; } } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/filter/MyAccessDeniedHandlerImpl.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.filter; 2 | 3 | import java.io.IOException; 4 | import java.io.PrintWriter; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import org.springframework.security.access.AccessDeniedException; 11 | import org.springframework.security.web.access.AccessDeniedHandler; 12 | 13 | //如果是ajax请求 14 | public class MyAccessDeniedHandlerImpl implements AccessDeniedHandler { 15 | 16 | private String accessDeniedUrl; 17 | public MyAccessDeniedHandlerImpl() 18 | { 19 | 20 | } 21 | 22 | public MyAccessDeniedHandlerImpl(String accessDeniedUrl) 23 | { 24 | this.accessDeniedUrl=accessDeniedUrl; 25 | } 26 | public String getAccessDeniedUrl() { 27 | return accessDeniedUrl; 28 | } 29 | 30 | 31 | public void setAccessDeniedUrl(String accessDeniedUrl) { 32 | this.accessDeniedUrl = accessDeniedUrl; 33 | } 34 | 35 | 36 | 37 | 38 | 39 | @Override 40 | public void handle(HttpServletRequest req, 41 | HttpServletResponse resp, AccessDeniedException reason) throws ServletException, 42 | IOException { 43 | boolean isAjax = "XMLHttpRequest".equals(req.getHeader("X-Requested-With")); 44 | 45 | if (isAjax) {//如果是ajax请求 46 | //String jsonObject = "{\"message\":\"You are not privileged to request this resource.\","+"\"access-denied\":true,\"cause\":\"AUTHORIZATION_FAILURE\"}"; 47 | String contentType = "application/json"; 48 | resp.setContentType(contentType); 49 | String jsonObject="noright"; 50 | PrintWriter out = resp.getWriter(); 51 | out.print(jsonObject); 52 | out.flush(); 53 | out.close(); 54 | return; 55 | } 56 | else 57 | { 58 | 59 | String path = req.getContextPath(); 60 | String basePath = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+path+"/"; 61 | resp.sendRedirect(basePath+accessDeniedUrl); 62 | } 63 | 64 | 65 | } 66 | } 67 | 68 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/filter/MyFilterSecurityInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.filter; 2 | import java.io.IOException; 3 | 4 | import javax.servlet.Filter; 5 | import javax.servlet.FilterChain; 6 | import javax.servlet.FilterConfig; 7 | import javax.servlet.ServletException; 8 | import javax.servlet.ServletRequest; 9 | import javax.servlet.ServletResponse; 10 | 11 | import org.springframework.security.access.SecurityMetadataSource; 12 | import org.springframework.security.access.intercept.AbstractSecurityInterceptor; 13 | import org.springframework.security.access.intercept.InterceptorStatusToken; 14 | import org.springframework.security.web.FilterInvocation; 15 | import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource; 16 | 17 | public class MyFilterSecurityInterceptor extends AbstractSecurityInterceptor implements Filter { 18 | // 与applicationContext-security.xml里的myFilter的属性securityMetadataSource对应, 19 | // 其他的两个组件,已经在AbstractSecurityInterceptor定义 20 | private FilterInvocationSecurityMetadataSource securityMetadataSource; 21 | 22 | /** 23 | * Method that is actually called by the filter chain. Simply delegates to 24 | * the {@link #invoke(FilterInvocation)} method. 25 | * 26 | * @param request the servlet request 27 | * @param response the servlet response 28 | * @param chain the filter chain 29 | * 30 | * @throws IOException if the filter chain fails 31 | * @throws ServletException if the filter chain fails 32 | */ 33 | public void doFilter(ServletRequest request, ServletResponse response, 34 | FilterChain chain) throws IOException, ServletException { 35 | FilterInvocation fi = new FilterInvocation(request, response, chain); 36 | invoke(fi); 37 | } 38 | 39 | 40 | public Class getSecureObjectClass() { 41 | //MyAccessDecisionManager的supports方面必须放回true,否则会提醒类型错误 42 | return FilterInvocation.class; 43 | } 44 | 45 | public void invoke(FilterInvocation fi) throws IOException, 46 | ServletException { 47 | //在执行doFilter之前,进行权限的检查,而具体的实现已经交给accessDecisionManager了 48 | // object为FilterInvocation对象 49 | // super.beforeInvocation(fi);//源码 50 | // 1.获取请求资源的权限 51 | //执行 Collection attributes = 52 | //securityMetadataSource.getAttributes(fi); 53 | // 2.是否拥有权限 54 | // this.accessDecisionManager.decide(authenticated, fi, attributes); 55 | InterceptorStatusToken token = super.beforeInvocation(fi); 56 | try { 57 | fi.getChain().doFilter(fi.getRequest(), fi.getResponse()); 58 | } finally { 59 | super.afterInvocation(token, null); 60 | } 61 | } 62 | 63 | public SecurityMetadataSource obtainSecurityMetadataSource() { 64 | return this.securityMetadataSource; 65 | } 66 | 67 | public FilterInvocationSecurityMetadataSource getSecurityMetadataSource() { 68 | return this.securityMetadataSource; 69 | } 70 | 71 | public void setSecurityMetadataSource(FilterInvocationSecurityMetadataSource newSource) { 72 | this.securityMetadataSource = newSource; 73 | } 74 | 75 | @Override 76 | public void destroy() { 77 | } 78 | 79 | @Override 80 | public void init(FilterConfig arg0) throws ServletException { 81 | } 82 | 83 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/filter/MyInvocationSecurityMetadataSource.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.filter; 2 | import java.util.ArrayList; 3 | import java.util.Collection; 4 | import java.util.HashMap; 5 | import java.util.Iterator; 6 | import java.util.Map; 7 | 8 | import org.apache.commons.logging.Log; 9 | import org.apache.commons.logging.LogFactory; 10 | import org.springframework.security.access.ConfigAttribute; 11 | import org.springframework.security.access.SecurityConfig; 12 | import org.springframework.security.web.FilterInvocation; 13 | import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource; 14 | 15 | import com.bupt.core.security.tool.AntUrlPathMatcher; 16 | import com.bupt.core.security.tool.UrlMatcher; 17 | /** 18 | * 该过滤器的主要作用就是通过spring著名的IoC生成securityMetadataSource。 19 | * securityMetadataSource相当于本包中自定义的MyInvocationSecurityMetadataSourceService。 20 | * 该MyInvocationSecurityMetadataSourceService的作用提从数据库提取权限和资源,装配到HashMap中, 21 | * 供Spring Security使用,用于权限校验。 22 | * @author litong 23 | * 24 | */ 25 | public class MyInvocationSecurityMetadataSource 26 | implements FilterInvocationSecurityMetadataSource { 27 | private UrlMatcher urlMatcher = new AntUrlPathMatcher();; 28 | private static Map> resourceMap = null; 29 | private final Log log = LogFactory.getLog(getClass()); 30 | private boolean debug = log.isDebugEnabled(); 31 | 32 | public MyInvocationSecurityMetadataSource() { 33 | loadResourceDefine(); 34 | } 35 | 36 | private void loadResourceDefine() { 37 | resourceMap = new HashMap>(); 38 | Collection atts = new ArrayList(); 39 | ConfigAttribute ca = new SecurityConfig("ROLE_ADMIN"); 40 | atts.add(ca); 41 | Collection atts2 = new ArrayList(); 42 | ConfigAttribute ca2 = new SecurityConfig("ROLE_ANONYMOUS"); 43 | atts2.add(ca2); 44 | resourceMap.put("/index.jsp", atts); 45 | resourceMap.put("/other.jsp", atts2); 46 | resourceMap.put("/admin.jsp", atts); 47 | resourceMap.put("/application/modules/core/main.jsp", atts); 48 | } 49 | 50 | // According to a URL, Find out permission configuration of this URL. 51 | public Collection getAttributes(Object object) 52 | throws IllegalArgumentException { 53 | Collection result = null; 54 | // guess object is a URL. 55 | String url = ((FilterInvocation)object).getRequestUrl(); 56 | Iterator ite = resourceMap.keySet().iterator(); 57 | while (ite.hasNext()) { 58 | String resURL = ite.next(); 59 | if (urlMatcher.pathMatchesUrl(url, resURL)) { 60 | result = resourceMap.get(resURL); 61 | break; 62 | } 63 | } 64 | if(debug){ 65 | if(result!=null){ 66 | for (ConfigAttribute configAttribute : result) { 67 | log.debug(configAttribute.getAttribute()); 68 | }} 69 | } 70 | return result; 71 | } 72 | 73 | public boolean supports(Class clazz) { 74 | return true; 75 | } 76 | 77 | public Collection getAllConfigAttributes() { 78 | return null; 79 | } 80 | 81 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/model/Course.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.model; 2 | 3 | public class Course { 4 | private String id; 5 | private String name; 6 | private String num; 7 | private String p_id; 8 | private String type; 9 | public String getId() { 10 | return id; 11 | } 12 | public void setId(String id) { 13 | this.id = id; 14 | } 15 | public String getName() { 16 | return name; 17 | } 18 | public void setName(String name) { 19 | this.name = name; 20 | } 21 | public String getNum() { 22 | return num; 23 | } 24 | public void setNum(String num) { 25 | this.num = num; 26 | } 27 | public String getP_id() { 28 | return p_id; 29 | } 30 | public void setP_id(String p_id) { 31 | this.p_id = p_id; 32 | } 33 | public String getType() { 34 | return type; 35 | } 36 | public void setType(String type) { 37 | this.type = type; 38 | } 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/service/AuthService.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.service; 2 | 3 | public interface AuthService { 4 | boolean validate(String username,String password); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/service/impl/AuthServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.service.impl; 2 | 3 | import java.util.List; 4 | 5 | import javax.annotation.Resource; 6 | 7 | import org.apache.commons.logging.Log; 8 | import org.apache.commons.logging.LogFactory; 9 | import org.springframework.stereotype.Service; 10 | 11 | import com.bupt.core.security.service.AuthService; 12 | import com.bupt.core.system.dao.UserMapper; 13 | import com.bupt.core.system.model.User; 14 | import com.bupt.core.system.model.UserExample; 15 | import com.bupt.core.system.model.UserExample.Criteria; 16 | 17 | @Service("authService") 18 | public class AuthServiceImpl implements AuthService{ 19 | 20 | @Resource(name="userMapper") 21 | private UserMapper userMapper; 22 | private final Log log = LogFactory.getLog(getClass()); 23 | private boolean debug = log.isDebugEnabled(); 24 | 25 | @Override 26 | public boolean validate(String username, String password) { 27 | UserExample ue = new UserExample(); 28 | Criteria criteri = ue.createCriteria(); 29 | criteri.andLoginNameEqualTo(username); 30 | List resultUserExcample = userMapper.selectByExample(ue); 31 | 32 | if(debug){ 33 | log.debug("resultUserExcample: "+resultUserExcample); 34 | } 35 | 36 | boolean flag = false; 37 | if(resultUserExcample!=null&&resultUserExcample.size()>0&&resultUserExcample.get(0).getPassword().equals(password)){ 38 | flag = true; 39 | } 40 | if(debug){ 41 | log.debug("service validate flag: "+flag); 42 | } 43 | return flag; 44 | } 45 | 46 | public UserMapper getUserMapper() { 47 | return userMapper; 48 | } 49 | 50 | public void setUserMapper(UserMapper userMapper) { 51 | this.userMapper = userMapper; 52 | } 53 | 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/service/impl/MyUserDetailServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.service.impl; 2 | import java.util.ArrayList; 3 | import java.util.Collection; 4 | import java.util.List; 5 | 6 | import org.apache.commons.logging.Log; 7 | import org.apache.commons.logging.LogFactory; 8 | import org.springframework.dao.DataAccessException; 9 | import org.springframework.security.core.GrantedAuthority; 10 | import org.springframework.security.core.authority.GrantedAuthorityImpl; 11 | import org.springframework.security.core.userdetails.User; 12 | import org.springframework.security.core.userdetails.UserDetails; 13 | import org.springframework.security.core.userdetails.UserDetailsService; 14 | import org.springframework.security.core.userdetails.UsernameNotFoundException; 15 | 16 | import com.bupt.core.system.dao.UserMapper; 17 | import com.bupt.core.system.model.UserExample; 18 | import com.bupt.core.system.model.UserExample.Criteria; 19 | 20 | public class MyUserDetailServiceImpl implements UserDetailsService { 21 | 22 | private UserMapper userMapper; 23 | private final Log log = LogFactory.getLog(getClass()); 24 | private boolean debug = log.isDebugEnabled(); 25 | 26 | @Override 27 | //登陆默认会调到这里 28 | public UserDetails loadUserByUsername(String username) 29 | throws UsernameNotFoundException, DataAccessException { 30 | if(debug){ 31 | log.debug("user detail: "+username); 32 | } 33 | User user = null; 34 | UserExample ue = new UserExample(); 35 | Criteria criteri = ue.createCriteria(); 36 | criteri.andLoginNameEqualTo(username); 37 | try{ 38 | List userList = userMapper.selectByExample(ue); 39 | if(debug){ 40 | log.debug("user detail 2: "+userList.get(0)); 41 | } 42 | if(userList!=null&&userList.size()>0){ 43 | Collection auths=new ArrayList(); 44 | GrantedAuthority auth=new GrantedAuthorityImpl("ROLE_ADMIN"); 45 | auths.add(auth); 46 | user = new User(username,userList.get(0).getPassword(), true, true, true, true, auths); 47 | }}catch (Exception e) { 48 | e.printStackTrace(); 49 | } 50 | //在这个类中,你就可以从数据库中读入用户的密码,角色信息,是否锁定,账号是否过期等,我想这么简单的代码就不再多解释了。 51 | // User(String username, String password, boolean enabled, boolean accountNonExpired, 52 | // boolean credentialsNonExpired, boolean accountNonLocked, Collection authorities) { 53 | return user; 54 | } 55 | 56 | public UserMapper getUserMapper() { 57 | return userMapper; 58 | } 59 | 60 | public void setUserMapper(UserMapper userMapper) { 61 | this.userMapper = userMapper; 62 | } 63 | 64 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/tool/AntUrlPathMatcher.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.tool; import org.springframework.util.AntPathMatcher; import org.springframework.util.PathMatcher; public class AntUrlPathMatcher implements UrlMatcher { private boolean requiresLowerCaseUrl; private PathMatcher pathMatcher; public AntUrlPathMatcher() { this(true); } public AntUrlPathMatcher(boolean requiresLowerCaseUrl) { this.requiresLowerCaseUrl = true; this.pathMatcher = new AntPathMatcher(); this.requiresLowerCaseUrl = requiresLowerCaseUrl; } public Object compile(String path) { if (this.requiresLowerCaseUrl) { return path.toLowerCase(); } return path; } public void setRequiresLowerCaseUrl(boolean requiresLowerCaseUrl) { this.requiresLowerCaseUrl = requiresLowerCaseUrl; } public boolean pathMatchesUrl(Object path, String url) { if (("/**".equals(path)) || ("**".equals(path))) { return true; } return this.pathMatcher.match((String)path, url); } public String getUniversalMatchPattern() { return "/**"; } public boolean requiresLowerCaseUrl() { return this.requiresLowerCaseUrl; } public String toString() { return super.getClass().getName() + "[requiresLowerCase='" + this.requiresLowerCaseUrl + "']"; } } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/security/tool/UrlMatcher.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.security.tool; /** * 这个接口是以前spring版本中的,现在的spring版本中不存在,由于项目需要且使用方便,故加入到项目当中。 * @author litong */ public abstract interface UrlMatcher { public abstract Object compile(String paramString); public abstract boolean pathMatchesUrl(Object paramObject, String paramString); public abstract String getUniversalMatchPattern(); public abstract boolean requiresLowerCaseUrl(); } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/action/RoleAction.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.action; 2 | 3 | import java.util.HashMap; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import javax.annotation.Resource; 8 | import javax.servlet.http.HttpServletRequest; 9 | 10 | import org.apache.commons.logging.Log; 11 | import org.apache.commons.logging.LogFactory; 12 | import org.springframework.stereotype.Controller; 13 | import org.springframework.web.bind.annotation.RequestMapping; 14 | import org.springframework.web.bind.annotation.ResponseBody; 15 | 16 | import com.bupt.core.base.action.JqGridBaseAction; 17 | import com.bupt.core.system.dto.RoleDTO; 18 | import com.bupt.core.system.service.RoleService; 19 | import com.bupt.core.system.service.RoleService; 20 | 21 | @Controller 22 | @RequestMapping("/system/role") 23 | public class RoleAction extends JqGridBaseAction{ 24 | 25 | private final Log log = LogFactory.getLog(getClass()); 26 | private boolean debug = log.isDebugEnabled(); 27 | 28 | //将spring 配置文件中的bean 通过setter注入进来 29 | @Resource(name="roleService") 30 | private RoleService roleService=null; 31 | 32 | @Override 33 | public List listResults(int start, int limit, String sortName, 34 | String sortOrder, HttpServletRequest request, Boolean search) { 35 | return this.roleService.listResults(start, limit, sortName, sortOrder, request,search); 36 | } 37 | 38 | @Override 39 | public Integer getTotalRecords(HttpServletRequest request, Boolean search) { 40 | return roleService.getTotalRecords(request,search); 41 | } 42 | 43 | @RequestMapping("/info.do") 44 | @ResponseBody 45 | public Map getRoleSelectInfo(){ 46 | Map map = new HashMap(); 47 | //map.put("role", this.roleService.getAllRoles()); 48 | //map.put("organ", this.roleService.getAllDepartments()); 49 | return map; 50 | } 51 | 52 | public RoleService getRoleService() { 53 | return roleService; 54 | } 55 | 56 | public void setRoleService(RoleService roleService) { 57 | this.roleService = roleService; 58 | } 59 | 60 | 61 | 62 | 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dao/DepartmentMapper.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dao; 2 | 3 | import com.bupt.core.system.model.Department; 4 | import com.bupt.core.system.model.DepartmentExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface DepartmentMapper { 9 | /** 10 | * This method was generated by MyBatis Generator. 11 | * This method corresponds to the database table t_security_department 12 | * 13 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 14 | */ 15 | int countByExample(DepartmentExample example); 16 | 17 | /** 18 | * This method was generated by MyBatis Generator. 19 | * This method corresponds to the database table t_security_department 20 | * 21 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 22 | */ 23 | int deleteByExample(DepartmentExample example); 24 | 25 | /** 26 | * This method was generated by MyBatis Generator. 27 | * This method corresponds to the database table t_security_department 28 | * 29 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 30 | */ 31 | int deleteByPrimaryKey(Integer departmentId); 32 | 33 | /** 34 | * This method was generated by MyBatis Generator. 35 | * This method corresponds to the database table t_security_department 36 | * 37 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 38 | */ 39 | int insert(Department record); 40 | 41 | /** 42 | * This method was generated by MyBatis Generator. 43 | * This method corresponds to the database table t_security_department 44 | * 45 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 46 | */ 47 | int insertSelective(Department record); 48 | 49 | /** 50 | * This method was generated by MyBatis Generator. 51 | * This method corresponds to the database table t_security_department 52 | * 53 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 54 | */ 55 | List selectByExample(DepartmentExample example); 56 | 57 | /** 58 | * This method was generated by MyBatis Generator. 59 | * This method corresponds to the database table t_security_department 60 | * 61 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 62 | */ 63 | Department selectByPrimaryKey(Integer departmentId); 64 | 65 | /** 66 | * This method was generated by MyBatis Generator. 67 | * This method corresponds to the database table t_security_department 68 | * 69 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 70 | */ 71 | int updateByExampleSelective(@Param("record") Department record, @Param("example") DepartmentExample example); 72 | 73 | /** 74 | * This method was generated by MyBatis Generator. 75 | * This method corresponds to the database table t_security_department 76 | * 77 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 78 | */ 79 | int updateByExample(@Param("record") Department record, @Param("example") DepartmentExample example); 80 | 81 | /** 82 | * This method was generated by MyBatis Generator. 83 | * This method corresponds to the database table t_security_department 84 | * 85 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 86 | */ 87 | int updateByPrimaryKeySelective(Department record); 88 | 89 | /** 90 | * This method was generated by MyBatis Generator. 91 | * This method corresponds to the database table t_security_department 92 | * 93 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 94 | */ 95 | int updateByPrimaryKey(Department record); 96 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dao/RoleMapper.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dao; 2 | 3 | import com.bupt.core.system.model.Role; 4 | import com.bupt.core.system.model.RoleExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface RoleMapper { 9 | /** 10 | * This method was generated by MyBatis Generator. 11 | * This method corresponds to the database table t_security_role 12 | * 13 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 14 | */ 15 | int countByExample(RoleExample example); 16 | 17 | /** 18 | * This method was generated by MyBatis Generator. 19 | * This method corresponds to the database table t_security_role 20 | * 21 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 22 | */ 23 | int deleteByExample(RoleExample example); 24 | 25 | /** 26 | * This method was generated by MyBatis Generator. 27 | * This method corresponds to the database table t_security_role 28 | * 29 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 30 | */ 31 | int deleteByPrimaryKey(Integer roleId); 32 | 33 | /** 34 | * This method was generated by MyBatis Generator. 35 | * This method corresponds to the database table t_security_role 36 | * 37 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 38 | */ 39 | int insert(Role record); 40 | 41 | /** 42 | * This method was generated by MyBatis Generator. 43 | * This method corresponds to the database table t_security_role 44 | * 45 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 46 | */ 47 | int insertSelective(Role record); 48 | 49 | /** 50 | * This method was generated by MyBatis Generator. 51 | * This method corresponds to the database table t_security_role 52 | * 53 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 54 | */ 55 | List selectByExample(RoleExample example); 56 | 57 | /** 58 | * This method was generated by MyBatis Generator. 59 | * This method corresponds to the database table t_security_role 60 | * 61 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 62 | */ 63 | Role selectByPrimaryKey(Integer roleId); 64 | 65 | /** 66 | * This method was generated by MyBatis Generator. 67 | * This method corresponds to the database table t_security_role 68 | * 69 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 70 | */ 71 | int updateByExampleSelective(@Param("record") Role record, @Param("example") RoleExample example); 72 | 73 | /** 74 | * This method was generated by MyBatis Generator. 75 | * This method corresponds to the database table t_security_role 76 | * 77 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 78 | */ 79 | int updateByExample(@Param("record") Role record, @Param("example") RoleExample example); 80 | 81 | /** 82 | * This method was generated by MyBatis Generator. 83 | * This method corresponds to the database table t_security_role 84 | * 85 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 86 | */ 87 | int updateByPrimaryKeySelective(Role record); 88 | 89 | /** 90 | * This method was generated by MyBatis Generator. 91 | * This method corresponds to the database table t_security_role 92 | * 93 | * @mbggenerated Fri Sep 06 15:12:05 CST 2013 94 | */ 95 | int updateByPrimaryKey(Role record); 96 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dao/UserInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dao; 2 | 3 | import com.bupt.core.system.model.UserInfo; 4 | import com.bupt.core.system.model.UserInfoExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface UserInfoMapper { 9 | /** 10 | * This method was generated by MyBatis Generator. 11 | * This method corresponds to the database table t_security_user_info 12 | * 13 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 14 | */ 15 | int countByExample(UserInfoExample example); 16 | 17 | /** 18 | * This method was generated by MyBatis Generator. 19 | * This method corresponds to the database table t_security_user_info 20 | * 21 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 22 | */ 23 | int deleteByExample(UserInfoExample example); 24 | 25 | /** 26 | * This method was generated by MyBatis Generator. 27 | * This method corresponds to the database table t_security_user_info 28 | * 29 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 30 | */ 31 | int deleteByPrimaryKey(Integer userInfoId); 32 | 33 | /** 34 | * This method was generated by MyBatis Generator. 35 | * This method corresponds to the database table t_security_user_info 36 | * 37 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 38 | */ 39 | int insert(UserInfo record); 40 | 41 | /** 42 | * This method was generated by MyBatis Generator. 43 | * This method corresponds to the database table t_security_user_info 44 | * 45 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 46 | */ 47 | int insertSelective(UserInfo record); 48 | 49 | /** 50 | * This method was generated by MyBatis Generator. 51 | * This method corresponds to the database table t_security_user_info 52 | * 53 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 54 | */ 55 | List selectByExample(UserInfoExample example); 56 | 57 | /** 58 | * This method was generated by MyBatis Generator. 59 | * This method corresponds to the database table t_security_user_info 60 | * 61 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 62 | */ 63 | UserInfo selectByPrimaryKey(Integer userInfoId); 64 | 65 | /** 66 | * This method was generated by MyBatis Generator. 67 | * This method corresponds to the database table t_security_user_info 68 | * 69 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 70 | */ 71 | int updateByExampleSelective(@Param("record") UserInfo record, @Param("example") UserInfoExample example); 72 | 73 | /** 74 | * This method was generated by MyBatis Generator. 75 | * This method corresponds to the database table t_security_user_info 76 | * 77 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 78 | */ 79 | int updateByExample(@Param("record") UserInfo record, @Param("example") UserInfoExample example); 80 | 81 | /** 82 | * This method was generated by MyBatis Generator. 83 | * This method corresponds to the database table t_security_user_info 84 | * 85 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 86 | */ 87 | int updateByPrimaryKeySelective(UserInfo record); 88 | 89 | /** 90 | * This method was generated by MyBatis Generator. 91 | * This method corresponds to the database table t_security_user_info 92 | * 93 | * @mbggenerated Mon Jul 22 00:14:59 CST 2013 94 | */ 95 | int updateByPrimaryKey(UserInfo record); 96 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dao/UserMapper.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dao; 2 | 3 | import java.util.List; 4 | 5 | import javax.servlet.http.HttpServletRequest; 6 | 7 | import org.apache.ibatis.annotations.Param; 8 | 9 | import com.bupt.core.system.dto.UserDTO; 10 | import com.bupt.core.system.model.User; 11 | import com.bupt.core.system.model.UserExample; 12 | 13 | public interface UserMapper { 14 | 15 | /** 16 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 17 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 18 | */ 19 | int countByExample(UserExample example); 20 | 21 | /** 22 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 23 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 24 | */ 25 | int deleteByExample(UserExample example); 26 | 27 | /** 28 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 29 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 30 | */ 31 | int deleteByPrimaryKey(Integer userId); 32 | 33 | /** 34 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 35 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 36 | */ 37 | int insert(User record); 38 | 39 | /** 40 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 41 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 42 | */ 43 | int insertSelective(User record); 44 | 45 | /** 46 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 47 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 48 | */ 49 | List selectByExample(UserExample example); 50 | 51 | /** 52 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 53 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 54 | */ 55 | User selectByPrimaryKey(Integer userId); 56 | 57 | /** 58 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 59 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 60 | */ 61 | int updateByExampleSelective(@Param("record") User record, 62 | @Param("example") UserExample example); 63 | 64 | /** 65 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 66 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 67 | */ 68 | int updateByExample(@Param("record") User record, 69 | @Param("example") UserExample example); 70 | 71 | /** 72 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 73 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 74 | */ 75 | int updateByPrimaryKeySelective(User record); 76 | 77 | /** 78 | * This method was generated by MyBatis Generator. This method corresponds to the database table t_security_user 79 | * @mbggenerated Sun Jul 21 16:19:05 CST 2013 80 | */ 81 | int updateByPrimaryKey(User record); 82 | 83 | /** 84 | * 百万级分页优化 85 | */ 86 | public List listResults(@Param("start") int start, @Param("limit") int limit, @Param("sortName") String sortName, @Param("sortOrder") String sortOrder, @Param("UserExample") UserExample example); 87 | 88 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dao/UserRoleMapper.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dao; 2 | 3 | import java.util.List; 4 | 5 | import com.bupt.core.system.model.Role; 6 | import com.bupt.core.system.model.UserRole; 7 | 8 | 9 | public interface UserRoleMapper { 10 | List getRolesForUserById(int id); 11 | void insert(UserRole userRole); 12 | String[] getRoleIdsForUser(int id); 13 | void delete(int userId); 14 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dao/UserRoleMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | INSERT INTO t_security_user_role (user_id,role_id) values (#{userId},#{roleId}) 12 | 13 | 16 | 17 | DELETE FROM t_security_user_role WHERE user_id = #{id} 18 | 19 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dto/UserAddForm.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dto; 2 | 3 | public class UserAddForm { 4 | 5 | /** 6 | * 登录名 7 | */ 8 | private String loginName; 9 | 10 | /** 11 | * 部门名 12 | */ 13 | private String organ; 14 | 15 | /** 16 | * 角色名,可以是多个 17 | */ 18 | private String roleSelectR; 19 | 20 | /** 21 | * 用户姓名 22 | */ 23 | private String userName; 24 | 25 | /** 26 | * 电话号 27 | */ 28 | private String telephone; 29 | 30 | /** 31 | *邮件 32 | */ 33 | private String email; 34 | 35 | /** 36 | * 用户姓名 37 | */ 38 | private String station; 39 | 40 | /** 41 | * 出生日期 42 | */ 43 | private String birthday; 44 | 45 | /** 46 | * 雇佣日期 47 | */ 48 | private String hireday; 49 | 50 | public String getLoginName() { 51 | return loginName; 52 | } 53 | 54 | public void setLoginName(String loginName) { 55 | this.loginName = loginName; 56 | } 57 | 58 | public String getOrgan() { 59 | return organ; 60 | } 61 | 62 | public void setOrgan(String organ) { 63 | this.organ = organ; 64 | } 65 | 66 | public String getRoleSelectR() { 67 | return roleSelectR; 68 | } 69 | 70 | public void setRoleSelectR(String roleSelectR) { 71 | this.roleSelectR = roleSelectR; 72 | } 73 | 74 | public String getUserName() { 75 | return userName; 76 | } 77 | 78 | public void setUserName(String userName) { 79 | this.userName = userName; 80 | } 81 | 82 | public String getTelephone() { 83 | return telephone; 84 | } 85 | 86 | public void setTelephone(String telephone) { 87 | this.telephone = telephone; 88 | } 89 | 90 | public String getEmail() { 91 | return email; 92 | } 93 | 94 | public void setEmail(String email) { 95 | this.email = email; 96 | } 97 | 98 | public String getStation() { 99 | return station; 100 | } 101 | 102 | public void setStation(String station) { 103 | this.station = station; 104 | } 105 | 106 | public String getBirthday() { 107 | return birthday; 108 | } 109 | 110 | public void setBirthday(String birthday) { 111 | this.birthday = birthday; 112 | } 113 | 114 | public String getHireday() { 115 | return hireday; 116 | } 117 | 118 | public void setHireday(String hireday) { 119 | this.hireday = hireday; 120 | } 121 | 122 | 123 | } 124 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dto/UserCheckForm.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dto; 2 | 3 | public class UserCheckForm { 4 | 5 | /** 6 | * 登录名 7 | */ 8 | private String loginName; 9 | 10 | /** 11 | * 部门名 12 | */ 13 | private String organ; 14 | 15 | /** 16 | * 角色名,可以是多个 17 | */ 18 | private String roleSelectR; 19 | 20 | /** 21 | * 用户姓名 22 | */ 23 | private String userName; 24 | 25 | /** 26 | * 电话号 27 | */ 28 | private String telephone; 29 | 30 | /** 31 | *邮件 32 | */ 33 | private String email; 34 | 35 | /** 36 | * 用户姓名 37 | */ 38 | private String station; 39 | 40 | /** 41 | * 出生日期 42 | */ 43 | private String birthday; 44 | 45 | /** 46 | * 雇佣日期 47 | */ 48 | private String hireday; 49 | 50 | /** 51 | * 用户状态 52 | */ 53 | private String status; 54 | 55 | public String getLoginName() { 56 | return loginName; 57 | } 58 | 59 | public void setLoginName(String loginName) { 60 | this.loginName = loginName; 61 | } 62 | 63 | public String getOrgan() { 64 | return organ; 65 | } 66 | 67 | public void setOrgan(String organ) { 68 | this.organ = organ; 69 | } 70 | 71 | public String getUserName() { 72 | return userName; 73 | } 74 | 75 | public void setUserName(String userName) { 76 | this.userName = userName; 77 | } 78 | 79 | public String getTelephone() { 80 | return telephone; 81 | } 82 | 83 | public void setTelephone(String telephone) { 84 | this.telephone = telephone; 85 | } 86 | 87 | public String getEmail() { 88 | return email; 89 | } 90 | 91 | public void setEmail(String email) { 92 | this.email = email; 93 | } 94 | 95 | public String getStation() { 96 | return station; 97 | } 98 | 99 | public void setStation(String station) { 100 | this.station = station; 101 | } 102 | 103 | public String getBirthday() { 104 | return birthday; 105 | } 106 | 107 | public void setBirthday(String birthday) { 108 | this.birthday = birthday; 109 | } 110 | 111 | public String getHireday() { 112 | return hireday; 113 | } 114 | 115 | public void setHireday(String hireday) { 116 | this.hireday = hireday; 117 | } 118 | 119 | public String getStatus() { 120 | return status; 121 | } 122 | 123 | public void setStatus(String status) { 124 | this.status = status; 125 | } 126 | 127 | public String getRoleSelectR() { 128 | return roleSelectR; 129 | } 130 | 131 | public void setRoleSelectR(String roleSelectR) { 132 | this.roleSelectR = roleSelectR; 133 | } 134 | 135 | 136 | } 137 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dto/UserDTO.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dto; 2 | 3 | public class UserDTO { 4 | 5 | /** 6 | * 用户ID 7 | */ 8 | private Integer userId; 9 | 10 | /** 11 | * 登录名 12 | */ 13 | private String loginName; 14 | 15 | 16 | /** 17 | * 状态 18 | */ 19 | private String status; 20 | 21 | /** 22 | * 部门名 23 | */ 24 | private String departmentName; 25 | /** 26 | * 角色名,可以是多个,以“,”分隔 27 | */ 28 | private String RoleNames; 29 | 30 | /** 31 | * 用户姓名 32 | */ 33 | private String userName; 34 | 35 | public Integer getUserId() { 36 | return userId; 37 | } 38 | 39 | public void setUserId(Integer userId) { 40 | this.userId = userId; 41 | } 42 | 43 | public String getLoginName() { 44 | return loginName; 45 | } 46 | 47 | public void setLoginName(String loginName) { 48 | this.loginName = loginName == null ? null : loginName.trim(); 49 | } 50 | 51 | public String getStatus() { 52 | return status; 53 | } 54 | 55 | public void setStatus(String status) { 56 | this.status = status == null ? null : status.trim(); 57 | } 58 | 59 | 60 | public String getUserName() { 61 | return userName; 62 | } 63 | 64 | public void setUserName(String userName) { 65 | this.userName = userName == null ? null : userName.trim(); 66 | } 67 | 68 | public String getDepartmentName() { 69 | return departmentName; 70 | } 71 | 72 | public String getRoleNames() { 73 | return RoleNames; 74 | } 75 | 76 | public void setDepartmentName(String departmentName) { 77 | this.departmentName = departmentName; 78 | } 79 | 80 | public void setRoleNames(String roleNames) { 81 | RoleNames = roleNames; 82 | } 83 | 84 | } 85 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/dto/UserModifyForm.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.dto; 2 | 3 | public class UserModifyForm { 4 | 5 | /** 6 | * 登录名 7 | */ 8 | private String loginName; 9 | 10 | /** 11 | * 部门名 12 | */ 13 | private String organ; 14 | 15 | /** 16 | * 角色名,可以是多个 17 | */ 18 | private String roleSelectR; 19 | 20 | /** 21 | * 用户姓名 22 | */ 23 | private String userName; 24 | 25 | /** 26 | * 电话号 27 | */ 28 | private String telephone; 29 | 30 | /** 31 | *邮件 32 | */ 33 | private String email; 34 | 35 | /** 36 | * 用户姓名 37 | */ 38 | private String station; 39 | 40 | /** 41 | * 出生日期 42 | */ 43 | private String birthday; 44 | 45 | /** 46 | * 雇佣日期 47 | */ 48 | private String hireday; 49 | 50 | public String getLoginName() { 51 | return loginName; 52 | } 53 | 54 | public void setLoginName(String loginName) { 55 | this.loginName = loginName; 56 | } 57 | 58 | public String getOrgan() { 59 | return organ; 60 | } 61 | 62 | public void setOrgan(String organ) { 63 | this.organ = organ; 64 | } 65 | 66 | public String getRoleSelectR() { 67 | return roleSelectR; 68 | } 69 | 70 | public void setRoleSelectR(String roleSelectR) { 71 | this.roleSelectR = roleSelectR; 72 | } 73 | 74 | public String getUserName() { 75 | return userName; 76 | } 77 | 78 | public void setUserName(String userName) { 79 | this.userName = userName; 80 | } 81 | 82 | public String getTelephone() { 83 | return telephone; 84 | } 85 | 86 | public void setTelephone(String telephone) { 87 | this.telephone = telephone; 88 | } 89 | 90 | public String getEmail() { 91 | return email; 92 | } 93 | 94 | public void setEmail(String email) { 95 | this.email = email; 96 | } 97 | 98 | public String getStation() { 99 | return station; 100 | } 101 | 102 | public void setStation(String station) { 103 | this.station = station; 104 | } 105 | 106 | public String getBirthday() { 107 | return birthday; 108 | } 109 | 110 | public void setBirthday(String birthday) { 111 | this.birthday = birthday; 112 | } 113 | 114 | public String getHireday() { 115 | return hireday; 116 | } 117 | 118 | public void setHireday(String hireday) { 119 | this.hireday = hireday; 120 | } 121 | 122 | 123 | } 124 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/model/User.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.model; 2 | 3 | import java.util.List; 4 | 5 | public class User { 6 | 7 | /** 8 | * 用户ID 9 | */ 10 | private Integer userId; 11 | 12 | /** 13 | * 登录名 14 | */ 15 | private String loginName; 16 | 17 | /** 18 | * 密码 19 | */ 20 | private String password; 21 | 22 | /** 23 | * 状态 24 | */ 25 | private String status; 26 | 27 | /** 28 | * 部门id 29 | */ 30 | private Integer departmentId; 31 | 32 | /** 33 | * 用户姓名 34 | */ 35 | private String uesrName; 36 | /** 37 | * 角色Roles 38 | */ 39 | private List roles; 40 | 41 | public Integer getUserId() { 42 | return userId; 43 | } 44 | 45 | public void setUserId(Integer userId) { 46 | this.userId = userId; 47 | } 48 | 49 | public String getLoginName() { 50 | return loginName; 51 | } 52 | 53 | public void setLoginName(String loginName) { 54 | this.loginName = loginName == null ? null : loginName.trim(); 55 | } 56 | 57 | public String getPassword() { 58 | return password; 59 | } 60 | 61 | public void setPassword(String password) { 62 | this.password = password == null ? null : password.trim(); 63 | } 64 | 65 | public String getStatus() { 66 | return status; 67 | } 68 | 69 | public void setStatus(String status) { 70 | this.status = status == null ? null : status.trim(); 71 | } 72 | 73 | public Integer getDepartmentId() { 74 | return departmentId; 75 | } 76 | 77 | public void setDepartmentId(Integer departmentId) { 78 | this.departmentId = departmentId; 79 | } 80 | 81 | public String getUesrName() { 82 | return uesrName; 83 | } 84 | 85 | public void setUesrName(String uesrName) { 86 | this.uesrName = uesrName == null ? null : uesrName.trim(); 87 | } 88 | 89 | private List roleList; 90 | 91 | public List getRoleList() { 92 | return roleList; 93 | } 94 | 95 | public void setRoleList(List roleList) { 96 | this.roleList = roleList; 97 | } 98 | 99 | @Override 100 | public String toString() { 101 | return "User [userId=" + userId + ", loginName=" + loginName 102 | + ", password=" + password + ", status=" + status 103 | + ", departmentId=" + departmentId + ", uesrName=" + uesrName 104 | + "]"; 105 | } 106 | 107 | public List getRoles() { 108 | return roles; 109 | } 110 | 111 | public void setRoles(List roles) { 112 | this.roles = roles; 113 | } 114 | 115 | 116 | } -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/model/UserRole.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.model; 2 | 3 | public class UserRole { 4 | private int userId; 5 | private int roleId; 6 | public int getUserId() { 7 | return userId; 8 | } 9 | public void setUserId(int userId) { 10 | this.userId = userId; 11 | } 12 | public int getRoleId() { 13 | return roleId; 14 | } 15 | public void setRoleId(int roleId) { 16 | this.roleId = roleId; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/service/RoleService.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.service; 2 | 3 | import com.bupt.core.base.service.BaseService; 4 | import com.bupt.core.system.dto.RoleDTO; 5 | import com.bupt.core.system.model.Role; 6 | 7 | public interface RoleService extends BaseService { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.service; 2 | 3 | import java.util.List; 4 | 5 | import com.bupt.core.base.service.BaseService; 6 | import com.bupt.core.system.dto.UserAddForm; 7 | import com.bupt.core.system.dto.UserCheckForm; 8 | import com.bupt.core.system.dto.UserDTO; 9 | import com.bupt.core.system.dto.UserModifyForm; 10 | import com.bupt.core.system.model.Department; 11 | import com.bupt.core.system.model.Role; 12 | import com.bupt.core.system.model.User; 13 | 14 | public interface UserService extends BaseService{ 15 | 16 | boolean validate(String username, String password); 17 | 18 | boolean insertUserAndRoles(UserAddForm userAddForm); 19 | 20 | boolean updateUserAndRoles(UserModifyForm userModifyForm); 21 | 22 | boolean deleteUser(String userId); 23 | 24 | boolean recoverUserPass(String userId); 25 | 26 | List getAllRoles(); 27 | 28 | List getAllDepartments(); 29 | 30 | /** 31 | * 检查用户名是否存在 32 | * @param loginName 33 | * @return 34 | * @author 李彤 2013-8-20 下午3:05:50 35 | */ 36 | User validateExist(String loginName); 37 | 38 | UserModifyForm getUserRolesAndInfo(String userId); 39 | 40 | UserCheckForm getInfoForCheck(String userId); 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/bupt/core/system/service/impl/RoleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.bupt.core.system.service.impl; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import javax.annotation.Resource; 7 | import javax.servlet.http.HttpServletRequest; 8 | 9 | import org.springframework.stereotype.Service; 10 | 11 | import com.bupt.core.base.util.Utils; 12 | import com.bupt.core.system.dao.RoleMapper; 13 | import com.bupt.core.system.dto.RoleDTO; 14 | import com.bupt.core.system.model.Role; 15 | import com.bupt.core.system.model.RoleExample; 16 | import com.bupt.core.system.model.UserExample; 17 | import com.bupt.core.system.model.RoleExample.Criteria; 18 | import com.bupt.core.system.service.RoleService; 19 | 20 | @Service("roleService") 21 | public class RoleServiceImpl implements RoleService { 22 | 23 | @Resource(name="roleMapper") 24 | private RoleMapper roleMapper; 25 | 26 | @Override 27 | public int deleteByPrimaryKey(Integer id) { 28 | return roleMapper.deleteByPrimaryKey(id); 29 | } 30 | 31 | @Override 32 | public int insert(Role record) { 33 | // TODO Auto-generated method stub 34 | return 0; 35 | } 36 | 37 | @Override 38 | public int insertSelective(Role record) { 39 | // TODO Auto-generated method stub 40 | return 0; 41 | } 42 | 43 | @Override 44 | public Role selectByPrimaryKey(Integer id) { 45 | // TODO Auto-generated method stub 46 | return null; 47 | } 48 | 49 | @Override 50 | public int updateByPrimaryKeySelective(Role record) { 51 | // TODO Auto-generated method stub 52 | return 0; 53 | } 54 | 55 | @Override 56 | public int updateByPrimaryKey(Role record) { 57 | // TODO Auto-generated method stub 58 | return 0; 59 | } 60 | 61 | @Override 62 | public int getTotalRecords(HttpServletRequest request, Boolean search) { 63 | RoleExample ue = new RoleExample(); 64 | if(search){ 65 | addCriteria(request, ue); 66 | } 67 | return roleMapper.countByExample(ue); 68 | } 69 | 70 | @Override 71 | public List listResults(int start, int limit, String sortName, 72 | String sortOrder, HttpServletRequest request, Boolean search) { 73 | RoleExample ue = new RoleExample(); 74 | ue.setOrderByClause( sortName +" "+ sortOrder); 75 | ue.setStart(start); 76 | ue.setLimit(limit); 77 | 78 | if(search){ 79 | addCriteria(request, ue); 80 | } 81 | 82 | /*End*/ 83 | List roleList = roleMapper.selectByExample(ue); 84 | List roleDTOList = new ArrayList(); 85 | RoleDTO tempRoleDTO = new RoleDTO(); 86 | for (Role role : roleList) { 87 | Utils.copyProperties(tempRoleDTO, role); 88 | roleDTOList.add(tempRoleDTO); 89 | } 90 | 91 | return roleDTOList; 92 | } 93 | 94 | private void addCriteria(HttpServletRequest request, RoleExample ue) { 95 | Integer roleId = Integer.parseInt(request.getParameter("roleId")); 96 | String name = request.getParameter("name"); 97 | Integer parentId = Integer.parseInt(request.getParameter("parentId")); 98 | Criteria criteria = ue.createCriteria(); 99 | if(roleId!=null&&!"".equals(roleId)) criteria.andRoleIdEqualTo(roleId); 100 | if(name!=null&&!"".equals(name)) criteria.andNameEqualTo(name); 101 | if(parentId!=null&&!"".equals(parentId)) criteria.andParentIdEqualTo(parentId); 102 | } 103 | 104 | public RoleMapper getRoleMapper() { 105 | return roleMapper; 106 | } 107 | 108 | public void setRoleMapper(RoleMapper roleMapper) { 109 | this.roleMapper = roleMapper; 110 | } 111 | 112 | 113 | 114 | } 115 | -------------------------------------------------------------------------------- /src/main/resources/com/bupt/config/dispatcher-servlet.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | application/json;charset=UTF-8 33 | 34 | 35 | 36 | 37 | 38 | 41 | 42 | 43 | 45 | 46 | 47 | 104857600 48 | 49 | 50 | 1024000 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/main/resources/com/bupt/config/jdbc.properties: -------------------------------------------------------------------------------- 1 | #Core 2 | driver1=com.mysql.jdbc.Driver 3 | url1=jdbc:mysql://localhost:3306/iframework?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull 4 | user1=root 5 | password1=yang1290 6 | #PC VRtype database 7 | driver2=com.mysql.jdbc.Driver 8 | url2=jdbc:mysql://localhost:3306/iframework?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull 9 | user2=root 10 | password2=yang1290 -------------------------------------------------------------------------------- /src/main/resources/com/bupt/config/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=DEBUG,CONSOLE,FILEOUT 2 | log4j.addivity.org.apache=true 3 | # CONSOLE 4 | log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 5 | log4j.appender.Threshold=DEBUG 6 | log4j.appender.CONSOLE.Target=System.out 7 | log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 8 | #log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 9 | log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} \:%m%n 10 | # 11 | # FILEOUT 12 | log4j.appender.FILEOUT=org.apache.log4j.RollingFileAppender 13 | log4j.appender.FILEOUT.File=${catalina.home}/iframework.log 14 | log4j.appender.fileout.MaxFileSize=100000KB 15 | log4j.appender.FILEOUT.encoding=UTF-8 16 | # default is true,append to the file; if false, the replace the log file whenever restart system 17 | log4j.appender.FILEOUT.Append=true 18 | #RollingFileAppender haven't properties DatePattern 19 | log4j.appender.FILEOUT.layout=org.apache.log4j.PatternLayout 20 | #log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 21 | log4j.appender.FILEOUT.layout.ConversionPattern=[%-5p]_%d{yyyy-MM-dd HH:mm:ss} :%m%n 22 | 23 | 24 | log4j.logger.org.springframework=DEBUG -------------------------------------------------------------------------------- /src/main/resources/com/bupt/mybatis/SqlMapConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 27 | 28 | 30 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 59 | 60 | -------------------------------------------------------------------------------- /src/main/resources/com/bupt/mybatis/Test.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 9 | INSERT INTO testtable (NAME,DATE) 10 | VALUES(#{name},#{birthday,jdbcType=DATE}) 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/com/bupt/mybatis/config.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/resources/com/bupt/mybatis/config.properties -------------------------------------------------------------------------------- /src/main/webapp/403.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 | 3 | 4 | 5 | 访问拒绝 6 | 7 | 8 | 您的访问被拒绝,无权访问该资源!
9 | ${requestScope['SPRING_SECURITY_403_EXCEPTION'].message} 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/webapp/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/jsp/result.jsp: -------------------------------------------------------------------------------- 1 | <%@page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | 5 | 6 | 7 | 8 | Insert title here 9 | 10 | 11 |

登录成功!

12 | 13 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | iframework 4 | 10 | 11 | 12 | contextConfigLocation 13 | 14 | classpath:/com/bupt/config/ApplicationContext.xml 15 | 16 | 17 | 18 | 19 | encodingFilter 20 | 21 | org.springframework.web.filter.CharacterEncodingFilter 22 | 23 | 24 | encoding 25 | UTF-8 26 | 27 | 28 | 29 | encodingFilter 30 | /* 31 | 32 | 33 | 44 | 45 | 46 | 47 | org.springframework.web.context.ContextLoaderListener 48 | 49 | 50 | 51 | 56 | 57 | 58 | log4jConfigLocation 59 | 60 | classpath:/com/bupt/config/log4j.properties 61 | 62 | 63 | 64 | log4jRefreshInterval 65 | 60000 66 | 67 | 68 | 69 | org.springframework.web.util.Log4jConfigListener 70 | 71 | 72 | 73 | 74 | dispatcher 75 | 76 | org.springframework.web.servlet.DispatcherServlet 77 | 78 | 79 | contextConfigLocation 80 | classpath:/com/bupt/config/dispatcher-servlet.xml 81 | 82 | 1 83 | 84 | 85 | dispatcher 86 | *.html 87 | 88 | 89 | dispatcher 90 | *.do 91 | 92 | 93 | index.html 94 | index.htm 95 | application/modules/core/main.jsp 96 | 97 | -------------------------------------------------------------------------------- /src/main/webapp/admin.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 | 3 | 4 | 5 | My JSP 'admin.jsp' starting page 6 | 7 | 8 | 欢迎来到管理员页面.
9 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/alert_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html; charset=UTF-8"%> 2 |
3 |
4 |

5 |
6 |
7 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/confirm_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html; charset=UTF-8" %> 2 |
3 |
4 |

5 |

6 |
7 |
-------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/export_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html; charset=UTF-8" %> 2 | 12 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/failure_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html; charset=UTF-8"%> 2 |
3 |
4 |

5 | 请求失败,请重新操作! 6 |

7 |
8 |
-------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/init.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | String path = request.getContextPath(); 3 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 4 | String modulesPath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/application/modules/"; 5 | String templatePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/application/template/themes/base/"; 6 | %> 7 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/meta.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/progress_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html; charset=UTF-8"%> 2 |
3 |
4 |

5 | 处理中,请等候。。。 6 |

7 |
8 |
9 |
-------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/script.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 3 | <% 4 | String path = request.getContextPath(); 5 | String themesPath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/application/template/themes/base/"; 6 | %> 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/common/style.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/core/header.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | J2EE基础框架 9 | 10 | 11 |
12 | 25 |
26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/core/indexContent.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | J2EE基础框架 9 | 10 | 11 |
12 |
13 |
14 |
当前位置:> 主页
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/core/leftmenu.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | J2EE基础框架 7 | 8 | 9 | 10 | 11 |
12 | 41 |
42 | 43 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/core/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | J2EE基础框架 7 | 8 | 9 | 10 | 11 | 52 | 53 | 82 | 83 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/core/main.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | J2EE基础框架 8 | 9 | 10 | 11 | 12 | 14 | 17 |
18 |
19 | 21 |
22 |
23 | 25 |
26 | 27 | 28 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/course_learn_main.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | J2EE基础框架 12 | 13 | 14 | 15 | 16 |
17 |
18 |
19 |
20 | 当前位置:> 在线学习 21 | 22 |
23 |
24 | 25 |
26 | 27 |
28 | 29 |
30 |
31 | 32 |
33 | 34 | 35 | 36 |
37 | 38 | 39 |
40 |
    41 |
    42 | 43 |
    44 | 45 |
    46 | 47 | 48 |
    49 |
    50 | 51 |
    52 |
    53 |
    54 |
    55 |
    56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/course_view.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | 3 | <%@ include file="../common/init.jsp"%> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 19 | 20 | 21 | 22 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/course_ware_add_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 |
    3 |
    4 |
    5 |
    6 |
    7 | 8 |
    9 | 10 |   11 |
    12 | 13 |
    14 | 15 |   16 | 17 |
    18 |
    19 |
    20 | 21 |
    22 | 23 |
    24 |
    25 |
    26 | 27 |
    28 | 29 | 30 |
    31 |
    32 |
    33 |
    34 |
    35 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/course_ware_add_select.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 |
    3 |
    4 | 5 |
    6 | 7 | 8 |
    9 |
    10 |
    -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/course_ware_main.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | J2EE基础框架 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 |
    29 |
    30 |
    31 |
    32 | 当前位置:> 课件管理 33 | 34 |
    35 |
    36 | 37 |
    38 | 39 |
    40 | 41 |
    42 |
    43 | 44 |
    45 | 46 | 47 | 48 | 49 |
    50 | 51 | 52 |
    53 |
      54 |
      55 | 56 |
      57 | 58 |
      59 |
      60 |
      61 |
      62 | 63 |
      64 |
      65 |
      66 |
      67 |
      68 | 69 | 70 |
      71 |
      72 | <%@ include file="../common/alert_dialog.jsp" %> 73 | <%@ include file="../common/confirm_dialog.jsp" %> 74 | 75 | 76 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/course_ware_modify_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 |
      3 |
      4 |
      5 |
      6 |
      7 | 8 |
      9 | 10 |   11 |
      12 | 13 |
      14 | 15 |   16 | 17 |
      18 |
      19 |
      20 | 21 |
      22 | 23 |
      24 |
      25 |
      26 | 27 |
      28 | 29 | 30 |
      31 |
      32 |
      33 |
      34 |
      35 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/file_view.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | 3 | <%@ include file="../common/init.jsp"%> 4 | 5 | 6 | 7 | 8 | J2EE基础框架 9 | 10 | 11 | 12 | 13 | 14 | " id="fileName"/> 15 | 16 |
      17 | 18 |
      19 | 20 | 21 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/course/video_view.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | J2EE基础框架 12 | 13 | 14 | 15 |
      16 | 17 | " id="player"> 18 |
      19 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/system/system_organ_add_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 |
      3 |
      4 |
      5 |
      6 | 7 |
      8 | 9 |   10 |
      11 |
      12 |
      13 | 14 |
      15 | 16 |   17 |
      18 |
      19 |
      20 | 21 |
      22 | 23 |   24 |
      25 |
      26 |
      27 |
      28 |
      29 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/system/system_organ_main.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J2EE基础框架 11 | 12 | 13 | 14 |
      15 |
      16 |
      17 |
      当前位置:> 机构管理
      18 |
      19 |
      20 |
      21 |   23 |
      24 | 25 |
      26 |
      27 |
      28 |
      29 |
      30 |
      31 |
      32 |
      33 |
      34 |
      35 | 36 | 37 |
      38 | 39 | 40 | <%@ include file="../common/alert_dialog.jsp"%> 41 | <%@ include file="../common/confirm_dialog.jsp"%> 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/system/system_organ_modify_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 |
      3 |
      4 |
      5 |
      6 | 7 |
      8 | 9 |   10 |
      11 |
      12 |
      13 | 14 |
      15 | 16 |   17 |
      18 |
      19 |
      20 | 21 |
      22 | 23 |   24 |
      25 |
      26 |
      27 |
      28 |
      29 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/system/system_role_main.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | iframework 10 | 16 | 17 | 18 | 19 |
      20 |
      21 |
      22 |
      23 | 当前位置:> 角色管理 24 |
      25 |
      26 |
      27 |
      28 | 29 | 30 | 31 | 32 | 33 |
      34 |
        35 | 36 | 37 |
      38 |
      39 |
      40 |
      41 |
      42 |
      43 |
      44 |
      45 | 46 | 47 |
      48 |
      49 | 50 |
      51 |
      52 | 53 | <%@ include file="../common/alert_dialog.jsp" %> 54 | <%@ include file="../common/confirm_dialog.jsp" %> 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/main/webapp/application/modules/system/system_user_check_dialog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 |
      3 |
      4 |
      5 |
      6 | 7 |
      8 | 9 |
      10 |
      11 |
      12 | 13 |
      14 | 16 |   17 |
      18 |
      19 |
      20 | 21 |
      22 | 23 |   24 |
      25 |
      26 |
      27 | 28 |
      29 | 30 |   31 |
      32 |
      33 |
      34 | 35 |
      36 | 37 |   38 |
      39 |
      40 |
      41 | 42 |
      43 | 44 |   45 |
      46 |
      47 |
      48 | 49 |
      50 | 51 |   52 |
      53 |
      54 |
      55 | 56 |
      57 | 58 |   59 |
      60 |
      61 |
      62 | 63 |
      64 | 65 |   66 |
      67 |
      68 |
      69 | 70 |
      71 | 72 |   73 |
      74 |
      75 |
      76 |
      77 |
      -------------------------------------------------------------------------------- /src/main/webapp/application/modules/system/system_user_import_diaog.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <% 3 | response.setCharacterEncoding("UTF-8"); 4 | String path3 = request.getContextPath(); 5 | String basePath3 = request.getScheme() + "://" 6 | + request.getServerName() + ":" + request.getServerPort() 7 | + path3 + "/"; 8 | %> 9 |
      10 |
      11 |
      12 |
      13 | 14 |
      15 |
      16 | 17 | 18 | 20 | 下载模板 21 |
      22 |
      23 |
      24 |
      25 |
      26 |
      27 |
      28 | 使用说明:
      29 | 1.请不要随意更改模板结构,否则系统将不能正确识别模板内容
      30 | 2.模板中若重复输入同一条信息,只取第一条,后面的将被忽略
      31 | 3.模板中若输入系统中已录入的信息,等同于修改信息
      32 |
      33 |
      34 |
      35 |
      36 | 37 |
      38 |
      39 |
      40 |
      -------------------------------------------------------------------------------- /src/main/webapp/application/modules/system/system_user_main.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ include file="../common/init.jsp"%> 3 | 4 | 5 | 6 | 7 | 8 | 9 | iframework 10 | 16 | 17 | 18 | 19 |
      20 |
      21 |
      22 |
      23 | 当前位置:> 用户管理 24 |
      25 |
      26 |
      27 |
      28 | 29 | 30 | 31 | 36 | 41 | 42 |
      43 |
        44 | 45 | 46 |
      47 |
      48 |
      49 |
      50 |
      51 |
      52 |
      53 |
      54 | 55 | 56 |
      57 |
      58 | 59 |
      60 |
      61 | 62 | <%@ include file="../common/alert_dialog.jsp" %> 63 | <%@ include file="../common/confirm_dialog.jsp" %> 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/jquery-ui-timepicker-addon.css: -------------------------------------------------------------------------------- 1 | /* css for timepicker */ 2 | .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } 3 | .ui-timepicker-div dl { text-align: left; } 4 | .ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } 5 | .ui-timepicker-div dl dd { margin: 0 10px 10px 65px; } 6 | .ui-timepicker-div td { font-size: 90%; } 7 | .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/jquery.autocomplete.css: -------------------------------------------------------------------------------- 1 | .ac_results { 2 | padding: 0px; 3 | border: 1px solid #999; 4 | background-color: white; 5 | overflow: hidden; 6 | z-index: 99999; 7 | } 8 | 9 | .ac_results ul { 10 | width: 100%; 11 | list-style-position: outside; 12 | list-style: none; 13 | padding: 0; 14 | margin: 0; 15 | } 16 | 17 | .ac_results li { 18 | margin: 0px; 19 | padding: 2px 5px; 20 | cursor: default; 21 | display: block; 22 | /* 23 | if width will be 100% horizontal scrollbar will apear 24 | when scroll mode will be used 25 | */ 26 | /*width: 100%;*/ 27 | font: menu; 28 | font-size: 12px; 29 | /* 30 | it is very important, if line-height not setted or setted 31 | in relative units scroll will be broken in firefox 32 | */ 33 | line-height: 16px; 34 | overflow: hidden; 35 | } 36 | 37 | .ac_loading { 38 | background: white url('start/images/indicator.gif') right center no-repeat; 39 | } 40 | 41 | .ac_odd { 42 | /*background-color: #eee;*/ 43 | } 44 | 45 | .ac_over { 46 | background-color: #329afd; 47 | color: white; 48 | } 49 | -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/jquery.bigcolorpicker.css: -------------------------------------------------------------------------------- 1 | .bigpicker{ 2 | width:227px; 3 | height:163px; 4 | position: absolute; 5 | z-index: 9999; 6 | background-color: #F0F0F0; 7 | padding: 2px 0 1px 5px; 8 | border-left: solid 1px #CCCCCC; 9 | border-top: solid 1px #CCCCCC; 10 | border-right: solid 1px #565656; 11 | border-bottom: solid 1px #565656; 12 | display: none; 13 | } 14 | 15 | .bigpicker .nocolor{ 16 | display: block; 17 | width:17px; 18 | height: 17px; 19 | margin: 2px 0 0; 20 | background: url(start/images/nocolor.png) no-repeat; 21 | } 22 | 23 | .bigpicker .nocolor:hover{ 24 | background: url(start/images/nocolor_over.png) no-repeat; 25 | } 26 | 27 | .bigpicker-sections-color{ 28 | margin: 0; 29 | padding: 0; 30 | } 31 | 32 | .bigpicker-sections-color ul{ 33 | margin: 0; 34 | padding: 0; 35 | float: left; 36 | } 37 | .bigpicker-sections-color ul li{ 38 | list-style: none outside none; 39 | margin: 0; 40 | padding: 0; 41 | border-top:solid 1px #000000; 42 | border-left:solid 1px #000000; 43 | width:10px; 44 | height: 10px; 45 | overflow:hidden; 46 | line-height:0px; 47 | font-size:0px; 48 | } 49 | 50 | 51 | .bigpicker .biglayout{ 52 | width:10px; 53 | height:10px; 54 | border:solid 1px #FFFFFF; 55 | position: absolute; 56 | z-index: 10000; 57 | display: none; 58 | line-height: 10px; 59 | overflow: hidden; 60 | cursor: default; 61 | } 62 | 63 | .bigpicker-bgview-text{ 64 | margin: 0; 65 | padding: 0; 66 | height: 24px; 67 | } 68 | .bigpicker-bgview-text li{ 69 | padding: 0 5px 0 0 ; 70 | list-style: none outside none; 71 | float: left; 72 | line-height:18px; 73 | } 74 | 75 | .bigpicker-bgview-text li div{ 76 | margin: 0; 77 | padding: 0; 78 | height: 20px; 79 | width: 55px; 80 | background-color: #000000; 81 | border-left: solid 1px #CCCCCC; 82 | border-top: solid 1px #CCCCCC; 83 | border-right: solid 1px #2B2B2B; 84 | border-bottom: solid 1px #2B2B2B; 85 | } 86 | .bigpicker-bgview-text li input{ 87 | margin: 0; 88 | padding: 0; 89 | height: 17px; 90 | width: 55px; 91 | } 92 | 93 | .bigpicker-bgimage{ 94 | background-image:url(start/images/big_bgcolor.jpg); 95 | } 96 | 97 | -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/jquery.multiselect2side.css: -------------------------------------------------------------------------------- 1 | .ms2side__div { 2 | clear: left; 3 | width: 100%; 4 | padding: 1px; 5 | float: left; 6 | background : url('') repeat-x; /* HACK FOR CHROME */ 7 | } 8 | 9 | .ms2side__select { 10 | float: left; 11 | } 12 | 13 | .ms2side__header { 14 | color: #000088; 15 | background-color: #EEEEFF; 16 | margin-left: 3px; 17 | width: 220px; 18 | height: 20px; 19 | } 20 | 21 | .ms2side__options, .ms2side__updown { 22 | float: left; 23 | font-size: 10pt; 24 | margin: 0; 25 | padding: 0 8px; 26 | width: 40px; 27 | color: black; 28 | text-align: center; 29 | overflow: hidden; 30 | } 31 | 32 | .ms2side__updown { 33 | font-size: 9pt; 34 | } 35 | 36 | .ms2side__options p, .ms2side__updown p { 37 | margin: 2px 0; 38 | padding: 0; 39 | cursor: pointer; 40 | border: 1px solid black; 41 | } 42 | 43 | .ms2side__options p.ms2side_hover, .ms2side__updown p.ms2side_hover { 44 | background-color: #F0F0FF; 45 | border-color: #0000FF; 46 | cursor: pointer; 47 | } 48 | 49 | .ms2side__options p.ms2side__hide, .ms2side__updown p.ms2side__hide { 50 | cursor: default; 51 | color: gray; 52 | border: 1px solid gray; 53 | background-color: #F0F0F0; 54 | } 55 | 56 | .ms2side__div select { 57 | width: 220px; 58 | float: left; 59 | } 60 | 61 | 62 | /* INPUT FOR SEARCH */ 63 | .ms2side__header input { 64 | width: 80px; 65 | height: 12px; 66 | } 67 | 68 | .ms2side__header input.wait { 69 | width: 80px; 70 | height: 12px; 71 | background: #FFFFFF url(../img/loading.gif) no-repeat center right; 72 | } 73 | 74 | .ms2side__header input.small { 75 | width: 50px; 76 | height: 12px; 77 | } 78 | 79 | 80 | /* INPUT FOR SELECT SEARCH */ 81 | .ms2side__header select { 82 | width: 100px; 83 | font-size: 11px; 84 | height: 18px; 85 | float: none; 86 | } 87 | 88 | .ms2side__header select.small { 89 | width: 70px; 90 | } 91 | 92 | 93 | /* REMOVE FILTER OPTION FOR SEARCH */ 94 | .ms2side__header a { 95 | font-size: 10pt; 96 | padding: 0 8px; 97 | width: 16px; 98 | height: 16px; 99 | color: black; 100 | text-align: center; 101 | text-decoration: none; 102 | border: 1px solid gray; 103 | background: #FFFFFF url(../img/close.gif) no-repeat center center; 104 | margin: 0 0 0 3px; 105 | } 106 | 107 | .ms2side__header a:hover { 108 | background-color: #F0F0FF; 109 | border-color: gray; 110 | } -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/bg.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/bg_x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/bg_x.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/bg_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/bg_x.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/big_bgcolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/big_bgcolor.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/dropdown.active.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/dropdown.active.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/dropdown.hover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/dropdown.hover.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/dropdown.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/dropdown.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/indicator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/indicator.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/nocolor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/nocolor.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/nocolor_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/nocolor_over.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_flat_55_999999_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_flat_55_999999_40x100.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_flat_75_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_flat_75_aaaaaa_40x100.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_45_0078ae_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_45_0078ae_1x400.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_45_2c_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_45_2c_1x400.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_55_84c7fd_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_55_84c7fd_1x400.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_55_f8da4e_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_55_f8da4e_1x400.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_75_79c9ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_75_79c9ec_1x400.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_75_d3e0fe_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_glass_75_d3e0fe_1x400.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_75_2191c0_500x100_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_gloss-wave_75_2191c0_500x100_.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_0078ae_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_0078ae_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_056b93_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_056b93_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_d8e7f3_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_d8e7f3_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_e0fdff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_e0fdff_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_f5e175_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_f5e175_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_f7a50d_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_f7a50d_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_fcd113_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/jquery/start/images/ui-icons_fcd113_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/loading/images/loading-bars.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/loading/images/loading-bars.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/loading/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/loading/images/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/loading/showLoading.css: -------------------------------------------------------------------------------- 1 | .loading-indicator { 2 | height: 80px; 3 | width: 80px; 4 | background: url( 'images/loading.gif' ); 5 | background-repeat: no-repeat; 6 | background-position: center center; 7 | } 8 | 9 | .loading-indicator-overlay { 10 | background-color: #FFFFFF; 11 | opacity: 0.6; 12 | filter: alpha(opacity = 60); 13 | } -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/select2/select2-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/select2/select2-spinner.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/select2/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/select2/select2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/select2/select2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/select2/select2x2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/1_close.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/1_open.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/3.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/4.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/5.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/6.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/7.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/8.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/diy/9.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/ico_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/ico_2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/line_conn.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/zTreeStandard.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/zTreeStandard.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/css/zTree/img/zTreeStandard_tabs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/css/zTree/img/zTreeStandard_tabs.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/arr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/arr.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/arr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/arr.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/bg_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/bg_2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/bg_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/bg_x.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/bg_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/bg_y.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/bg_y2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/bg_y2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/bottomCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/bottomCenter.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/chapter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/chapter.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/chapterGray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/chapterGray.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/content-add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/content-add.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/content-button-disable.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/content-button-disable.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/content-section-hr-head.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/content-section-hr-head.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/course.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/course.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/courseGray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/courseGray.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/graph.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/ico_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/ico_2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/icon.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/inform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/inform.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/input_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/input_bg.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/input_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/input_bg.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/leftMenuB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/leftMenuB.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/level140.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/level140.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/level180.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/level180.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/login_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/login_bg.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/login_btn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/login_btn.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/login_btn_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/login_btn_2.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/main-li-normal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/main-li-normal.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/modify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/modify.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/pageCurr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/pageCurr.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/page_bg_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/page_bg_2.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/page_bg_2_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/page_bg_2_2.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/pop_close_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/pop_close_1.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/pop_close_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/pop_close_2.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/pop_t_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/pop_t_bg.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/pop_tab_bg_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/pop_tab_bg_1.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/pop_tab_bg_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/pop_tab_bg_2.jpg -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/qLevel140.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/qLevel140.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/reset.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/reset.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/rightBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/rightBox.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/search_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/search_2.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/section.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/section.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/sectionGray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/sectionGray.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/slide-button-active.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/slide-button-active.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/slide-button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/slide-button.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/tip.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/tip.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/toorIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/toorIcon.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/treeBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/treeBg.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/user_check.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/user_check.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/user_del.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/user_del.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/user_modify.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/user_modify.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/ware.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/ware.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/wareGray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/wareGray.gif -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/images/welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litongbupt/iframework/67dc657c818f8d281a98da7ce41a0a78b98a7700/src/main/webapp/application/template/themes/base/images/welcome.png -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/js/common/form_cn.js: -------------------------------------------------------------------------------- 1 | $.extend(jQuery.validator.messages, { 2 | required: "必填字段", 3 | remote: "请修正该字段", 4 | email: "请输入正确格式的电子邮件", 5 | url: "请输入合法的网址", 6 | date: "请输入合法的日期", 7 | dateISO: "请输入合法的日期 (ISO).", 8 | number: "请输入合法的数字", 9 | digits: "只能输入整数", 10 | creditcard: "请输入合法的信用卡号", 11 | equalTo: "请再次输入相同的值", 12 | accept: "请输入拥有合法后缀名的字符串", 13 | maxlength: jQuery.validator.format("请输入一个长度最多是 {0} 的字符串"), 14 | minlength: jQuery.validator.format("请输入一个长度最少是 {0} 的字符串"), 15 | rangelength: jQuery.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"), 16 | range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"), 17 | max: jQuery.validator.format("请输入一个最大为 {0} 的值"), 18 | min: jQuery.validator.format("请输入一个最小为 {0} 的值") 19 | }); -------------------------------------------------------------------------------- /src/main/webapp/application/template/themes/base/js/jquery/jquery.bgiframe.min.js: -------------------------------------------------------------------------------- 1 | /*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) 2 | * Licensed under the MIT License (LICENSE.txt). 3 | * 4 | * Version 2.1.3-pre 5 | */ 6 | 7 | (function($){$.fn.bgiframe=($.browser.msie&&/msie 6\.0/i.test(navigator.userAgent)?function(s){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s);var html='