
从jsp页面读取数据库 *** 作mysql变成问号是因为编码问题导致。
1架设服务器安装MYSQL时的会让你选择一种编码,如果这种编码与你的网页不一致,可能就会造成JSP页面乱码
解决方案:如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题
2在PHPMYADMIN或mysql-front等系统 创建数据库时会让你选择一种编码,如果这种编码与你的网页不一致,也有可能造成JSP页面乱码
解决方案:修改数据库编码,如果是数据库编码不正确: 可以在phpmyadmin 执行如下命令: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 。这个命令就是将test数据库的编码设为utf8
3创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成JSP页面乱码
解决方案:修改表的编码:
ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
这个命令就是将一个表category的编码改为utf8
4创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成JSP页面乱码
解决方案:修改字段的编码:
ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
这个命令就是将test表中 dd的字段编码改为utf8
5用户提交JSP页面的编码与显示数据的JSP页面编码不一致,就肯定会造成JSP页面乱码
解决方案:如果是这种情况容易解决,只需检查一下页面,修改源文件的charset即可。如用户输入资料的JSP页面是big5码, 显示用户输入的JSP页面却是gb2312,这种100%会造成JSP页面乱码
6字符集不正确
解决方案:要注意:
1>平时你在某些网站看到的文字可能有几种编码, 如你看到一个繁体字,它有可能是big5编码,也有 可能是utf-8编码的,更有可能是gb码的,没错,也就是说有简体编码的繁体字,也有繁体编码的简体字,一定要了解这一点
2>如果你是做一个简体编码的网页,编码定为GB2312,如果有香港和台湾地区的访客提交繁体的信息,就可能会造成乱码,解决方法就是(A)将网站编码设为utf-8,这样可以兼容世界上所有字符, (B)如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为GBK,GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK
7JSP连接MYSQL数据库语句指定的编码不正确
解决方案:在JSP连接数据库的语句中,带上
useUnicode=true&characterEncoding=UTF-8&autoReconnect=true,
但是千万不要犯和我同样的错误哦。
8JSP页面没有指定数据提交的编码,就会造成乱码:
解决方案:这种乱码的情况,只需在页面开头加上requestsetCharacterEncoding("GBK"); 指定提交的即可。
自己写的话 你可以写个按钮 点击后后台代码排序后 刷新 前台页面
或者用richfaces里面自带的排序功能,参看
>
我们一个留言版或者文章系统等系统的时候,往往会出现太多的文章, 以致网页的美感大大形响了那有何办法呢下向我向大家写下一个分页教程,写得不好,望大家不要笑我毕竟本人也是第一次(会懂分页程序的高手建议看看便好,不要学习以免打乱你以往的编程习惯)^_^
程序例子: >
这个比较简单,dataTable里面有个属性,rowKeyVar="index",rowKeyVar就是列出dataTable里面集合的下标。举个例子,比如你的value="#{AS01E01HandlerdetailList}" 里面的detailList有个属性,name(姓名),num(学号)。现在detailListsize()=5,那么现在就有5行数据。我们来取你想要的,第4行第2列的值。那就是获得那一行的名字咯。
<f:facet name="header">
<rich:columnGroup >
<rich:column>
<h:outputText value="编号" />
</rich:column>
<rich:column >
<h:outputText value="姓名" />
</rich:column>
<rich:column >
<h:outputText value="学号" />
</rich:column>
</rich:columnGroup>
</f:facet>
<rich:column >
<h:outputText value="#{index+1}" />
</rich:column>
<rich:column >
<h:outputText value="#{detailList,name}" >
<a4j:support event="onRowClick" onsubmit="getIndex(#{index});" action="#{AS01E01HandlerselectRow}"
<a4j:ajaxListener type="orgajax4jsfajaxForceRender" />
</a4j:support>
</h:outputText>
</rich:column>
<rich:column >
<h:outputText value="#{detailList,num}" />
</rich:column>
这里我定义了一个JS函数,getIndex(index);这样你点击时,就能获得那一行的下标了,第4行,那么这个下标就是3。你需要将这个值传递到后台。那么在AS01E01Handler里面需要增加属性 int index;在页面上:
function getIndex(index) {
documentgetElementById(‘currRow’)value = index;
}
<h:inputHidden id="currRow" value="#{AS01E01Handlerindex}" />
这样当你点击时,不是就将3这个下标传到后台的AS01E01Handler的index了吗?
这样,你的方法selectRow就能拿到index这个值了,接着就用detailListget(index)getName();
就得到了你要的值了。第四行第二列,就是那个姓名。
好吧,希望对你有所帮助。
首先要弄清楼主项目是用struts1还是struts2 如果是1那只能用html标签
如:
如果是struts2 用s:标签
如:
再有如果在jsp页面用<%%>java代码的 都是垃圾页面 因为jsp只负责显示内容 而不是实现逻辑
希望对你有所帮助
Java在最近几年逐渐升温 随着Java SE 和Java SE 的推出 Java的未来更显得无比辉煌 但以Java为基础的JSP在Java SE 推出之前却一直抬不起头来 这最重要的原因就是JSP虽然功能十分强大 但最大的优点也是它的最大缺点 功能强大就意味着复杂 尤其是设计前端界面的可视化工具不多 也不够强大 因此 设计JSP页面就变得十分复杂和繁琐 不过 在Java SE 推出的同时 Sun为了简化JSP的开发难度 推出了新的JavaServer Faces(简称JSF)规范 从而使JSP走上了康庄大道
一 什么是JSF
JSF和JSP是一对新的搭档 JSP是用于后台的逻辑处理的技术 而JSF恰恰相反 是使开发人员能够快速的开发基于 Java 的 Web 应用程序的技术 是一种表现层技术 目前 JSF 已经正式作为一个标准加入了Java EE 中
作为一种高度组件化的技术 开发人员可以在一些开发工具的支持下 实现拖拉式编辑 *** 作 用户只需要简单的将 JSF 组件拖到页面上 就可以很容易的进行 Web 开发了 这是其作为一种组件化的技术所具有的最大好处 我们能用的组件不光是一些比较简单的输入框之类 还有更多复杂的组件可以使用的 比如 DataTable 这样的表格组件 Tree 这样的树形组件等等
作为一种标准的技术 JSF还得到了相当多工具提供商的支持 同时我们也会有很多很好的免费开发工具可以使用 前不久 Sun Java Studio Creator 和 Oracle JDeveloper g 作为免费的支持 JSF 的开发工具发布 给 JSF 带来了不小的生气 另外我们也有一些很优秀的商业开发工具可共选择 BEA Workshop (原 M NitroX) Exadel MyEclipse 这样的基于 Eclipse 的插件开发工具 为现在广大的 Eclipse 用户带来了不小的便利 IBM 的 Rational Application Developer 和 Borland 的 JBuilder 也是很不错的支持 JSF 可视化开发的商业开发工具
JSF和传统的Web技术有着本质上的差别 在传统的Web技术需要用户自己对浏览器请求进行捕捉 保存客户端状态 并且手工控制着页面的转向 等等 而JSF的出现 无疑给我们带来了巨大的便利 JSF 提供了事件驱动的页面导航模型 该模型使应用程序开发人员能够设计应用程序的页面流 与 Struts 的方式向类似的是 所有的页面流信息都定义在 JSF 配置 XML 文件 (faces config xml) 中 而非硬编码在应用程序中 这很大程度简化了开发人员开发难度 简化了应用程序的开发
同时JSF也是一种遵循模型 视图-控制器 (MVC) 模式的框架 实现了视图代码(View)与应用逻辑(Model)的完全分离 使得使用 JSF 技术的应用程序能够很好的实现页面与代码的分离 所有对 JSF 页面的请求都会通过一个前端控制器 (FacesServlet) 处理 系统自动处理用户的请求 并将结果返回给用户 这和传统的 MVC 框架并没有太大的区别
在JSF中不仅使用了 POJO 技术 而且还使用了类似 Spring 的控制反转(IoC) (或称为依赖注入 DI) 技术 在 JSF 的 Backing Bean 中 我们可以把视图所需要的数据和 *** 作放进一个 Backing Bean 中 同时得益于 JSF 使用的 DI 技术 我们可以在配置文件中初始化 Managed Bean 同时我们也可以通过这样的技术很方便的和使用类似技术的 Spring 进行整合
二 如何在JSP中使用JSF
JSF只有通过和JSP相结合 才能充分发挥它的功效 JSF是通过标签库和JSP进行集成的 标签库就相当于ASP NET的服务端组件 JSF提供了非常丰富的标签库 通过这些标签库 可以生成各种客户端模型 如HTML WML XML以及JavaScript等 通过这些标签 你可以很容易建立大规模的客户端模型 并由这些标签自动处理客户端请求
接下来让我们来看一个如何使JSF和JSP在一起工作的例子 在JSF中有两个库 第一个叫做内核库 在这个库中包含了各种主要的标签 如配置组件 管理事件 验证输入信息等 第二个库的主要功能是将HTML和JSF的各种标签相对应 每一个JSF标签都会对应一个HTML组件 如UIInput标签对应了HTML中的文本框或密码框
在JSF标签中文本输入框叫做inputText 而密码输入库叫inputSecret 下面是一个简单的JSF和JSP结合的用户接口程序
<%@ taglib uri="%> <%@ taglib uri="%> <> <head> <meta >
以上就是关于从jsp页面读取数据库 中文变成问号 mysql全部的内容,包括:从jsp页面读取数据库 中文变成问号 mysql、jsf中 如何给页面列表属性名后边添加排序按钮属性名是从数据库动态导入的,求大神指点。。。谢谢!、100分请教高手ASP分页显示页码个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)