如何在Struts 数据库应用程序中实现分页显示(1)

实现Struts+Hibernate框架下的高效分页功能 本文还有配套的精品资源,点击获取 简介:通过结合Struts和Hibernate这两个Java开源框架,本项目展示了如何实现Web应用程序中的数据分页。Struts负责处理用户请求并管理流程,而Hibernate用于数据库操作与业务逻辑解耦。项目中首先在Hibernate DAO层编写带有分页条件的查询方法,然后通过Struts的Action类调用这些方法,并在JSP页面利... 阅读详情

如何在Struts 数据库应用程序中实现分页显示

 

[相关链接]

《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm

《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm

《Struts下拉框的实现》http://dev.youkuaiyun.com/develop/article/28/28956.shtm

《Sruts单选框的实现》http://dev.youkuaiyun.com/develop/article/29/29042.shtm

《Struts复选框的实现》http://dev.youkuaiyun.com/develop/article/29/29043.shtm

《Struts程序各文件之间的关系(1)》http://dev.youkuaiyun.com/develop/article/29/29131.shtm

《Struts程序各文件之间的关系(2)》http://dev.youkuaiyun.com/develop/article/29/29133.shtm

《如何实现Struts 数据库应用程序(1)》http://dev.youkuaiyun.com/develop/article/29/29135.shtm

《如何实现Struts 数据库应用程序(2)》http://dev.youkuaiyun.com/develop/article/29/29138.shtm

《如何在Struts 数据库应用程序中实现分页显示》

《如何在Struts 数据库应用程序中实现记录的删除、更新及链接》

《如何在Struts 数据库应用程序中实现记录的添加》

《如何建立一个带登陆页面的Struts数据库应用程序》

《如何建立一个带登陆页面及角色的Struts数据库应用程序》

 

上述例子开发环境:Java Web Studio系列开发环境visual strutst版本。

最新JavaWebStudio下载地址:ftp://210.36.64.79/kui

上述例子源程序下载地址:ftp://210.36.64.79/kui

 

重点提示:JSPOUT属性页的设置是本例唯一与《如何实现Struts 数据库应用程序》中的步骤不同之处,这是本例的核心内容。我们要做的仅仅是在JSPOUT属性页的设置中把“自动分页”选择项选定并输入每页记录数即可。

 

 

[目标]

本例的目标是实现一个简单的Struts 数据库应用程序。其功能是从SQL Server 2000中读取数据,并以表格的形式在输出页中显示出来。

定义一个名为“Test”表的字段:

录入一些测试数据:

  

[效果]

输入页面(选择“全部显示”):

输出页面:

 

选择第四页:

 

[背景知识]

对于Struts的分页显示问题,一般建议不要采用<logic:iterate>标签及offset参数来做分页,这样把记录都读取出来太费资源(特别记录多时),一般采用读取一页显示一页的方法。当然,如果把这两种方法结合起来效果最好,即每次读出5至10页,再用<logic:iterate>标签及offset参数来做分页,如果用户请求的页不在已经读出的范围内,则重新从数据库中读取另几页,再用<logic:iterate>显示。

另外,一般还建议不要采用专用的分页标签,主要是各公司的分页标签标准不一,版本不一,对程序来说也不容易把握。本例是通过在DAO文件中生成一个分页字符串的方法实现的,分页字符串的形式可由程序自由改变。当然,在开发环境:Java Web Studio系列开发环境visual strutst版本中,只需要选择“分页”功能就行了,代码都是自动完成的。

 

[步骤]

本例与《如何实现Struts 数据库应用程序》中的步骤相比,除了在Struts数据库应用文件向导中多一个JSPOUT属性页设置之外,其它步骤完全一样,这样相同的步骤详情见《如何实现Struts 数据库应用程序》。

1、打开Visual Struts开发环境:

从桌面JavaWebStudio快揵或BIN目录下的JavaWebStudio.exe文件启动JavaWebStudio的Visual Struts开发环境。

2、建立一个“空的Struts数据库应用模板”应用程序:

    选择菜单“文件”—“新建”—“新建项目”,弹出新建项目对话框,如图3-1所示:

在对话框中选择“空的Struts数据库应用模板”,在项目名称中输入“DBApp”,package (包名)和位置(项目的路径)采用默认的值就行,当然也可以根据需要改变。最后点击“确定”按钮完成新项目的建立。

在DBApp项目根目录下包含四个子目录和两个文件,这是JSPStudio项目的标准结构,最好不要改变它们默认的名称,否则会出现问题。

3、利用Struts数据库应用文件向导建立新的应用:

在JSPStudio文件管理器内点击鼠标右键,在弹出的菜单中选择“Struts数据库应用文件向导”进入Struts文件向导对话框,也可以选择菜单“文件”—“新建”—“Struts数据库应用文件向导”进入Struts文件向导对话框。

在Struts文件向导对话框JSP文件标签下的文件名输入栏中输入“HellWord”文件名,其它文件采用默认的设置。

 

(1)输入文件名:

(2)从数据源中导入SQL语句及数据表的字段信息(字段名和字段类型):

(3)从数据据表中选择所需的表“Test”。

需要特别注意的是,这里的“从数据源中导入SQL语句及数据表的字段信息”及“从数据据表中选择所需的表”仅仅是为了自动生成SQL语句及读取字段信息,这里完成可以直接手工输入,与该项目的数据库连接池的配置无关,下面第(4)点将另行配置数据库连接池。

 

 

接下来配置数据库连接池,其它属性页可采用默认的就行了,下面直接转去数据连接配置属性页即可。

 

(4)JSPOUT属性页设置:

JSPOUT属性页的设置是唯一与《如何实现Struts 数据库应用程序》中的步骤不同之处,这是本例的核心内容。从上图可看出,我们要做的仅仅是把“自动分页”选择项选定并输入每页记录数即可,由于本例测试数据记录少,所以这里每页只显示3条记录。

 

(5)配置数据库连接池:

(省略)

 

4、项目文件结构

项目目录结构分析见《如何实现最简单的Struts程序》,这次Struts数据库应用文件向导自动生成了六个文件,其中web目录下是输入、输出两个JSP文件,src目录下是Java文件。除了文件名是我们输入之外,所有程序源代码都是文件向导自动生成的,所有的配置也是自动完成的。

刷新JSPStudio文件管理器,这时发现web目录下自动生成了两个文件,分别是DbList.jsp和DbList.jsp,前者是输入JSP文件,后者是输出JSP文件;src/emptyprj目录下自动生成了四个文件,分别是DbList Action.java和DbList Form.java,前者是Action文件,后者是FormAction文件;还有是数据库操作文件DbList.java和DbListDAO.java,前者用于保存数据表记录的Bean,后者是数据库操作DAO文件。

 

 

5、编译、启动服务器、运行:

   通过工具条上的按键分别编译项目及启动服务器,然后把开dbList.jsp并通过工具条上的“运行”按键运行dbList.jsp:

 

  首先试一下全部显示功能,点击“全部显示”接钮,如果如下图所示:

 

接下来试一下切换到第5页:

 

通过上述步骤,实现了预计的目标功能。

 

[程序源代码]

对于程序源代码,本例唯一与《如何实现Struts 数据库应用程序》中的程序源代码不同之处,是dbListOut.jsp文件。不同之处在于在表格最后多加了一行,这一行用于显示分页字符串,内容如下:

<tr><td  align=middle colSpan=4 >

<bean:write property='pagestr' name='dbListForm' filter='false' />

</td></tr>

其它文件完全相同,下页是dbListOut.jsp文件源代码:

<%@ page contentType="text/html;charset=GB2312" language="java" %>

<%@ taglib uri="/ WEB - INF /struts-bean.tld" prefix="bean" %>

<%@ taglib uri="/ WEB - INF /struts-html.tld" prefix="html" %>

<%@ taglib uri="/ WEB - INF /struts-logic.tld" prefix="logic" %>

<%@ taglib uri="/ WEB - INF /struts-template.tld" prefix="template" %>

<html:html>

<head>

<title></title>

<html:base/>

</head>

<body bgcolor="white">

<table width="98%" border="1" bgColor="#E6F2E7"

borderColorDark="#FFFFFF" borderColorLight="#008000" cellPadding="3" cellSpacing="0" >

<tr bgcolor='#90C090'>

<td><span CONTENTEDITABLE=true>序号</span></td>

<td><span CONTENTEDITABLE=true>姓名</span></td>

<td><span CONTENTEDITABLE=true>备注</span></td>

</tr>

<logic:iterate name='dbList' id='dbList' type='emptyprj.dbList' scope='request'>

<logic:notEqual name='dbListForm' property='action' value='edit'>

<tr>

<td><bean:write name='dbList' property='序号' /></td>

<td><bean:write name='dbList' property='姓名' /></td>

<td><bean:write name='dbList' property='备注' /></td>

</tr>

</logic:notEqual>

<logic:equal name='dbListForm' property='action' value='edit'>

<tr>

<form  method='post' name='dbListForm' action="/DBApp/dbListAction.do?action=

update&search=search&expression=<bean:write name='dbList' property='序号' />">

<td><html:text name='dbList' property='序号' /></td>

<td><html:text name='dbList' property='姓名' /></td>

<td><html:text name='dbList' property='备注' /></td>

</tr>

</logic:equal>

</logic:iterate>

 

<tr><td  align=middle colSpan=4 >

<bean:write property='pagestr' name='dbListForm' filter='false' />

</td></tr>

</tr>

</table>

</body>

</html:html>

 

 

Struts框架实现简单分页功能指南 Struts是Java EE应用中一个流行的Web层框架,它遵循MVC(Model-View-Controller)设计模式,将应用程序分为三个核心组件以实现业务逻辑与用户界面的分离。Struts简化了企业级应用的开发,尤其是在处理用户请求和展示响应方面。分页功能,是一种数据处理技术,允许用户在处理大量数据时,能够将数据分割成小块(页面)进行分批显示。这种技术在用户界面上的应用十分广泛,尤其在Web开发领域,分页处理是提高用户体验的重要组成部分。 阅读详情

相关推荐

Struts2与Hibernate分页功能的实现详解

Struts2是一个基于MVC设计模式的Web应用框架,它的核心是过滤器Dispatcher,用于将用户请求与Action映射,并返回相应的视图。MVC模式通过分离视图(View)、模型(Model)和控制器(Controller)来实现业务逻辑与界面显示的分离,提高了代码的可维护性和可扩展性。

weixin_42613018的博客 697

分页时关于添加Bean的改进

分页优化的一种方式 1.问题的出现: 有分页的JSP页面中,在 最后一页 添加一个bean时,添加成功后的页面跳转应当分为两种情况: 第一种:该页的记录数未满,则成功后跳转回本页; 第二种:该页的记录数已满,则成功后跳到最后一页。 我暂且将这种功能称为:溢出自动翻页功能。 2.解决方法的步骤: (1).在添加按钮的连接上添加参数: href="pages/manager/book_edit.jsp...

Stormseeker的博客 206

struts2+jdbc实现增删改查及带条件的分页查询

实现了struts2通过jdbc连接mysql数据库进行数据存储及从数据库中 查询出数据并显示到页面(jsp页面使用了struts2标签)上

struts 下面的页面分页显示的实现

   本应用的实现的过程是根据读取当前页面号码和发出请求页面的相对偏移值, 在数据库中读取指定数量的记录并以HashMap对象形式封装到一个List,其中每条记录中的各列以Object实例形式存于前面所讲的HashMap对象中.这样做的好处是便于代码的重用性, 我们可以用它做任何记录集片段的读取,而不必做任何代码的修改,你要做的就是根据你的具体需要单独写个类调用本分页类.   由于这次实现设计的代

小李专栏 2120

java分页bean的实现

分页使用的一个bean,提供翻页和设置当前页,页跳转等

Dify整合FireCrawl与百度搜索实战:手把手教你打造全能研究助手

本文手把手教你基于Dify平台,整合FireCrawl网页爬虫与百度搜索能力,构建一个能同时处理本地文档与实时网络信息的全能研究助手。通过部署核心环境、配置模型、接入两大工具并设计自动化工作流,实现从问题提出到深度分析报告生成的一站式解决方案,极大提升信息调研与整合效率。

weixin_29062963的博客 500

解决Struts分页显示

学习Struts已经有2个多月了,前几天群里的朋友问我Struts分页显示的问题,觉得好像与在jsp中的差不多,但还是遇到了这样那样的问题,好不容易花了几天时间把问题都搞清楚,觉得还是写点东西跟大家分享一下的好! 至于Struts的语法这里就不多介绍了,不懂的朋友可以先看网上的其他文章。 一 开发环境 Elicpse+Struts Studio+SqlServer2000+Tomcat。 二 开发

为理想而奋斗 8823

5.4 磁悬浮轴承控制系统仿真:在MATLAB/Simulink中搭建包含功放、传感器模型的闭环系统模型,进行稳定性与动态性能仿真

磁悬浮轴承控制系统仿真方法 摘要:磁悬浮轴承控制系统仿真需建立包含转子动力学、传感器、控制器、功率放大器和电磁执行器的高保真非线性模型。通过MATLAB/Simulink搭建闭环系统,重点建模传感器带宽限制与噪声、功放饱和特性以及电磁力非线性。仿真分析包括时域阶跃响应、扰动抑制测试,频域稳定性分析(伯德图、奈奎斯特图),以及参数摄动下的鲁棒性验证。关键要验证控制算法在非线性因素影响下的稳定性和动态性能,为实际系统实现提供可靠依据。仿真中需特别注意物理量单位一致性和数字控制离散化效应。

技术工作者 1106

Struts实现分页显示数据

//操作的数据库中的表名为:UserInfo,有三个属性:userId,userName,userPassword(顾名思义) 首先为UserInfo表构造一个相对应的JavaBean,UserInfo.java(因为要贴的代码过多,这个就省略了)。  现在正式开始:新建名为:LendDao.java 的java类,其中有两个方法,一个是用来获得,分页后,每一页应该显示的内容( sel

izhouxiaofei的博客 4869

【Python机器学习实战】 | 基于PCA主成分分析技术读入空气质量监测数据进行数据预处理并计算空气质量综合评测结果

主成分分析(Principal Component Analysis, PCA)是一种常用的机器学习和数据分析技术,用于降低数据维度、识别数据中的模式、发现变量之间的关系等。

一伦明悦的博客 1263

服务器搭建原神私服教程

项目的稳定版分支提供了编译好的服务端程序,但是博主觉得还是用dev版本的比较好。dev版本需要自己编译的,不要听到编译这两个字就头大,相反,这个服务端的编译相当简单。把文件中的两个IP地址127.0.0.1修改为你服务器的地址,修改完成后按 esc 输入 :wq。Mongodb作为服务端的数据库使用,我们这里安装最新版的Mongodb5。注意:如果想要使用最新版的服务端,必须安装>=17版本的java。tmux可以保证你关掉控制台的时候,程序依然继续运行。至此,服务端所需要的运行环境全部配置完成。

用最简单的方式说最重要的事!服务器、存储、云计 算、A智能的大数据产品、游戏开发技术。致力于广 大开发者、政企用户、各项机构等,构建云上世界提供全方位云计算解决方案。旨在打造差异化的开放式闭环生态系统帮助用户快速构建稳定、安全的云计算环境。 1万+

解决Struts分页显示(z)

解决Struts分页显示作者:李敏强  学习Struts已经有2个多月了,前几天群里的朋友问我Struts分页显示的问题,觉得好像与在jsp中的差不多,但还是遇到了这样那样的问题,好不容易花了几天时间把问题都搞清楚,觉得还是写点东西跟大家分享一下的好!至于Struts的语法这里就不多介绍了,不懂的朋友可以先看网上的其他文章。一 开发环境Elicpse+Struts Studio+SqlServer

null 1387

在Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)

TinyWebServer是个什么项目?它是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用线程池+非阻塞socket+epoll(ET和LT均实现) +事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态。......

AnChenliang_1002的博客 3021

Struts1.2实现MySQL数据库分页

  应一位朋友的要求。今晚也是我的周末,所以做了个分页。虽然网上相似文章比较多,不过我做分页的时候,看网上的文章也难做得出来。第一次写博客,希望看了我这篇《Struts1.2实现MySQL数据库分页》的还不能做出一个分页的朋友拍我砖头。没办法,文章写作太差了。   我的平台是:Eclipse3.2   MyEclipse5.5 Tomcat5.5 MySql5.0   第一步:创建数据

树下无影的专栏 1299

1篇1章4节:生成对抗网络GAN和图像生成领域的StyleGAN

AI图像生成技术的革命性突破:从GAN到StyleGAN 近年来,人工智能在图像生成领域取得显著进展,尤其是生成对抗网络(GAN)的发展推动了技术的飞跃。从早期的基础GAN到渐进式GAN(Progressive GAN),再到革命性的StyleGAN,AI生成图像的逼真度已接近人类创作水平。StyleGAN通过引入风格潜向量和自适应实例归一化,实现了对图像风格与内容的精细控制,广泛应用于人脸生成、艺术创作及影视行业。后续的StyleGAN2解决了“斑点”问题,StyleGAN3进一步优化纹理过渡,提升了图像

MD Code 214

SIMULINK开发项目实例 1000 例专栏之第960例--基于电力系统稳定性的建模与仿真场景:-含分布式电源的配电网电压稳定性研究

间歇性与随机性:例如,太阳能依赖于日照强度,风能依赖于风速,这使得它们的输出功率具有不确定性。逆变器接口:大多数分布式电源通过逆变器接入电网,这对电网的动态响应特性产生了影响。位置分散:通常分布在用户侧或靠近负荷中心的位置。本文详细介绍了如何使用Simulink结合Simscape Electrical 构建一个用于研究含分布式电源配电网电压稳定性的模型,并提供了详细的仿真流程说明。

xiaoheshang_123的博客 153

使用Struts2实现分页显示

在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...

anglela的博客 205

[DDR5] 模式寄存器 Mode Register MRR/MRW

模式寄存器用于定义各种操作模式。在初始化过程中,可以通过重新执行MRS命令来更改模式寄存器的内容。

串起点滴 1637

如何在Struts 数据库应用程序中实现分页显示(2)

如何在Struts 数据库应用程序中实现分页显示 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm《Struts下拉框的

kui的专栏 2004

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Struts2 分页

在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库

broadLove的专栏 1267

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Struts中实现分页

学习Struts已经有2个多月了,前几天群里的朋友问我Struts分页显示的问题,觉得好像与在jsp中的差不多,但还是遇到了这样那样的问题,好不容易花了几天时间把问题都搞清楚,觉得还是写点东西跟大家分享一下的好!至于Struts的语法这里就不多介绍了,不懂的朋友可以先看网上的其他文章。 一 开发环境Elicpse+Struts Studio+SqlServer2000+Tomcat。

616

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: Struts复选框的实现
下一篇: 如何实现Struts 数据库应用程序(2)
kui
kui
博客等级 码龄25年 199粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值