示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>bos19</display-name>
<!-- 配置解决中文乱码的过滤器,注意:该方式不能解决get方式提交中文乱码,除此之外,其余的都可以 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!--
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
-->
<!-- encoding用来设置编码格式,forceEncoding用来设置是否理会 request.getCharacterEncoding()方法,设置为true则强制覆盖之前的编码格式 -->
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置解决Hibernate延迟加载问题的过滤器 -->
<filter>
<filter-name>openSession</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSession</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 指定spring配置文件的位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 配置spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置struts2的过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 设置为开发者模式 -->
<constant name="struts.devMode" value="true"/>
<!-- 使Spring对象工厂成为自动默认值,struts2与spring整合,该句不是必须的,在整合jar中已经配置过了 ,这里只是为了强调-->
<constant name="struts.objectFactory" value="spring"/>
<package name="basicstruts2" extends="struts-default">
<!-- 需要进行权限控制的页面访问,使用默认的类和默认的方法,默认的类和默认的方法可以不用写,这里写出来为了强调 -->
<action name="page_*_*" class="com.opensymphony.xwork2.ActionSupport" method="execute">
<result name="success" type="dispatcher">/WEB-INF/pages/{1}/{2}.jsp</result>
</action>
</package>
</struts>
示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 添加命名空间 ,让spring扫描含有注解类 -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 加载 JdbcInfo.properties配置文件 -->
<context:property-placeholder location="classpath:JdbcInfo.properties" />
<!-- 配置数据源,基本四项 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!-- spring框架用于整合hibernate的工厂bean -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 注入数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 注入hibernate相关属性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 注入hibernate的映射文件 -->
<property name="mappingDirectoryLocations">
<list>
<value>classpath:com/itheima/bos/domain</value>
</list>
</property>
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 使用注解:组件扫描 -->
<context:component-scan base-package="com.itheima.bos"/>
<!-- 引入注解解析器:就可以使用它们了:@Controller @Service @Repository @Resource @Autowrired -->
<context:annotation-config/>
<!-- 事务注解:transaction-manager属性可以省略 -->
<tx:annotation-driven/>
</beans>
passwd
authz
其余步骤参考如下链接: https://www.cnblogs.com/chenmingjun/p/9513143.html#_label0 右键项目 --> Team --> Share Project…
点击SVN --> Next --> 创建新的资源库位置 --> Next --> svn://localhost:3690/bos/code --> Next
再次确认下,没问题,点击Next --> 第一次使用默认注释即可 --> Finish --> Yes --> 切换到提交视图,即已经纳入到svn的版本控制了,但是还没有真正上传。 在提交视图下,右键项目 --> 提交(C)
稍等一会儿,代码提交至svn仓库界面如下:
然后,我们切换至SVN资源库视图进行查看,如下图所示:
示例代码如下:
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/js/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/js/easyui/themes/icon.css">
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui/jquery.easyui.min.js"></script>
详解如下:
通过 $.fn.layout.defaults 重写默认的 defaults。
这个布局(layout)是有五个区域(北区 north、南区 south、东区 east、西区 west 和中区center)的容器。
中间的区域面板是必需的,边缘区域面板是可选的。每个边缘区域面板可通过拖拽边框调整尺寸,也可以通过点击折叠触发器来折叠面板。
布局(layout)可以嵌套,因此用户可建立复杂的布局。
示例代码如下:
<body class="easyui-layout">
<!-- 使用div指定区域 -->
<div title="XX管理系统" data-options="region:'north'" style="height:100px">北部区域</div>
<div title="系统菜单" data-options="region:'west'" style="width:200px">西部区域</div>
<div data-options="region:'center'">中心区域</div>
<div data-options="region:'east'" style="width:200px">东部区域</div>
<div data-options="region:'south'" style="height:50px">南部区域</div>
</body>
效果如下图所示:
详解如下:
通过 $.fn.accordion.defaults 重写默认的 defaults。
折叠面板(accordion)允许您提供多个面板(panel),同时显示一个或多个面板(panel)。
每个面板(panel)都有展开和折叠的内建支持。点击面板(panel)头部可展开或折叠面板(panel)主体。
面板(panel)内容可通过 ajax 指定 'href' 属性来加载。用户可定义被选中的面板(panel)。如果为指定,则默认选中第一个面板(panel)。
示例代码如下:
<body class="easyui-layout">
<!-- 使用div指定区域 -->
<div title="XX管理系统" data-options="region:'north'" style="height:100px">北部区域</div>
<div title="系统菜单" data-options="region:'west'" style="width:200px">
<!-- 折叠面板效果 -->
<!-- data-options="fit:true"表示自适应或者叫填充父容器 -->
<div class="easyui-accordion" data-options="fit:true">
<!-- 每个子div是其中的一个面板 -->
<div title="面板一">棉衣一</div>
<div title="面板二">test2</div>
<div title="面板三">test3</div>
</div>
</div>
<div data-options="region:'center'">中心区域</div>
<div data-options="region:'east'" style="width:200px">东部区域</div>
<div data-options="region:'south'" style="height:50px">南部区域</div>
</body>
效果如下图所示:
详解如下:
通过 $.fn.tabs.defaults 重写默认的 defaults。
选项卡显示一组面板。它一次只显示一个选项卡面板。
每个选项卡面板都有标题和一些迷你按钮工具,包括关闭按钮和其他自定义按钮。
示例代码如下:
<body class="easyui-layout">
<!-- 使用div指定区域 -->
<div title="XX管理系统" data-options="region:'north'" style="height:100px">北部区域</div>
<div title="系统菜单" data-options="region:'west'" style="width:200px">
<!-- 折叠面板效果 -->
<!-- data-options="fit:true"表示自适应或者叫填充父容器 -->
<div class="easyui-accordion" data-options="fit:true">
<!-- 每个子div是其中的一个面板 -->
<div title="面板一">棉衣一</div>
<div title="面板二">test2</div>
<div title="面板三">test3</div>
</div>
</div>
<div data-options="region:'center'">
<!-- 选项卡面板效果 -->
<div id="tt" class="easyui-tabs" data-options="fit:true">
<!-- 每个子div是其中的一个面板 -->
<div data-options="closable:true,iconCls:'icon-help'" title="面板一">棉衣一</div>
<div title="面板二">test2</div>
<div title="面板三">test3</div>
</div>
</div>
<div data-options="region:'east'" style="width:200px">东部区域</div>
<div data-options="region:'south'" style="height:50px">南部区域</div>
</body>
效果如下图所示:
示例代码如下:
<body class="easyui-layout">
<!-- 使用div指定区域 -->
<div title="XX管理系统" data-options="region:'north'" style="height:100px">北部区域</div>
<div title="系统菜单" data-options="region:'west'" style="width:200px">
<!-- 折叠面板效果 -->
<!-- data-options="fit:true"表示自适应或者叫填充父容器 -->
<div class="easyui-accordion" data-options="fit:true">
<!-- 每个子div是其中的一个面板 -->
<div title="面板一">
<a class="easyui-linkbutton" onclick="doAdd();">百度</a>
<script type="text/javascript">
function doAdd() {
// 动态添加一个选项卡面板
$("#tt").tabs("add", {
title:'这个可是动态添加的',
content:'<iframe frameborder="0" width="100%" height="100%" src="page_base_staff.action"></iframe>',
closable:true,
iconCls:'icon-search'
});
}
</script>
</div>
<div title="面板二">test2</div>
<div title="面板三">test3</div>
</div>
</div>
<div data-options="region:'center'">
<!-- 选项卡面板效果 -->
<div id="tt" class="easyui-tabs" data-options="fit:true">
<!-- 每个子div是其中的一个面板 -->
<div data-options="closable:true,iconCls:'icon-help'" title="面板一">棉衣一</div>
<div title="面板二">test2</div>
<div title="面板三">test3</div>
</div>
</div>
<div data-options="region:'east'" style="width:200px">东部区域</div>
<div data-options="region:'south'" style="height:50px">南部区域</div>
</body>
效果如下图所示:
示例代码如下:
<link rel="stylesheet" href="${pageContext.request.contextPath}/js/ztree/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="${pageContext.request.contextPath}/js/ztree/jquery.ztree.all-3.5.js"></script>
示例代码如下:
<div title="面板二">
<!-- 展示树形菜单 :使用标准json数据构造-->
<ul id="ztree1" class="ztree"></ul>
<script type="text/javascript">
$(function() {
// 当页面加载完成后,动态创建ztree菜单
// 设置ztree相关的属性,该属性中不用写数据,因为我们使用标准json数据构造
var setting = {};
// 构造json数据
var zNodes = [
// 每个json对象对应一个节点数据
{name : '系统管理'},
// 每个json对象对应一个节点数据
{name : '用户管理', children : [{name : '用户添加'}, {name : '用户修改'}]},
// 每个json对象对应一个节点数据
{name : '权限管理'}
];
// 创建ztree
$.fn.zTree.init($("#ztree1"), setting, zNodes);
});
</script>
</div>
效果如下图所示:
由于使用标准json数据构造ztree,代码的层级结构太深,不利于阅读,所以使用简单json数据构造ztree。 示例代码如下:
<div title="面板三">
<!-- 展示树形菜单 :使用简单json数据构造-->
<ul id="ztree2" class="ztree"></ul>
<script type="text/javascript">
$(function() {
// 当页面加载完成后,动态创建ztree菜单
// 设置ztree相关的属性
var setting2 = {
data : {
simpleData : {
// 启用简单json数据描述节点数据
enable : true
}
}
};
// 构造json数据
var zNodes2 = [
// 每个json对象对应一个节点数据
{id : '1', pId : '0', name : '系统管理'},
// 每个json对象对应一个节点数据
{id : '2', pId : '0', name : '用户管理'},
{id : '21', pId : '2', name : '用户添加'},
{id : '22', pId : '2', name : '用户修改'},
// 每个json对象对应一个节点数据
{id : '3', pId : '0', name : '权限管理'}
];
// 创建ztree
$.fn.zTree.init($("#ztree2"), setting2, zNodes2);
});
</script>
</div>
效果如下图所示:
示例代码如下:
<div title="面板四">
<!-- 展示树形菜单 :发送ajax请求获取菜单数据构造ztree-->
<ul id="ztree3" class="ztree"></ul>
<script type="text/javascript">
$(function() {
// 设置ztree相关的属性
var setting3 = {
data : {
simpleData : {
// 启用简单json数据描述节点数据
enable : true
}
}
};
// 发送ajax请求获取json数据构造ztree
var url = "${pageContext.request.contextPath}/json/menu.json";
$.post(url, {}, function(data) {
// 创建ztree
$.fn.zTree.init($("#ztree3"), setting3, data);
}, 'json');
});
</script>
</div>
效果如下图所示:
示例代码如下:
<div title="面板五">
<!-- 展示树形菜单 :发送ajax请求获取菜单数据构造ztree,并为ztree节点绑定事件-->
<ul id="ztree4" class="ztree"></ul>
<script type="text/javascript">
$(function() {
// 设置ztree相关的属性
var setting4 = {
data : {
simpleData : {
// 启用简单json数据描述节点数据
enable : true
}
},
// 绑定事件
callback: {
onClick: function(event, treeId, treeNode) {
// alert(treeNode);
// alert(treeNode.page);
var page = treeNode.page;
if (page != undefined) {
// 判断当前选型卡是否已经打开
var e = $("#tt").tabs("exists", treeNode.name);
if (e) {
// 当前选型卡已经打开,就选中它
$("#tt").tabs("select", treeNode.name);
} else {
// 当前选型卡没有打开,需要动态添加一个选项卡面板
$("#tt").tabs("add", {
title: treeNode.name,
content:'<iframe frameborder="0" width="100%" height="100%" src="' + page + '"></iframe>',
closable:true,
iconCls:'icon-edit'
});
}
}
}
}
};
// 发送ajax请求获取json数据构造ztree
var url = "${pageContext.request.contextPath}/json/menu.json";
$.post(url, {}, function(data) {
// 创建ztree
$.fn.zTree.init($("#ztree4"), setting4, data);
}, 'json');
});
</script>
</div>
效果如下图所示:
示例图片: