最近在用JSF 2.0(基于Primefaces 3.4.2)做一个WEB的项目,开发的过程中有两个问题一直烦扰着我

(1)很多时候在需要提交页面中的数据的时候,必须要点两次提交按钮,才可以提交相应的数据

(2)中文乱码问题.表现为:

2.1 如果在一个页面点击两次"创建"按钮的时候会出现乱码的问题.以及在对一条数据进行更新的时候也会设计到乱码的问题.

2.2 如果按钮设置了 ajax="false"属性,也会出现乱码问题

经过多次的实践,以及结合PrimeFaces官网中的例子的源码(http://code.google.com/p/primefaces/source/browse/examples/trunk/showcase/src/main/java/org/primefaces/examples?r=3516),进行了如下总结

(1)如果没有特殊的需求 尽量将button的ajax的属性设置为false.

回顾整个开发过程,不管是文件的上传下载问题,还是iReport的报表文件的导出问题,以及这个该死的数据提交问题,都和ajax="false" 脱离不了关系

(2)通过Servlet Filter处理中文乱码问题

在处理乱码的过程中用了很多的方法,可是效果都不好,后来发现Primefaces网站没有中文乱码的问题,后来通过源码发现原来是定义了一个servlet filter.

Servlet filter 代码:

import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class CharacterEncodingFilter implements Filter {public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException,ServletException {req.setCharacterEncoding("UTF-8");resp.setCharacterEncoding("UTF-8");chain.doFilter(req, resp);}public void init(FilterConfig filterConfig) throws ServletException {}public void destroy() {}}

Servlet filter web.xm l配 置

<filter><filter-name>Character Encoding Filter</filter-name><filter-class>com.foreign.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>Character Encoding Filter</filter-name><servlet-name>Faces Servlet</servlet-name></filter-mapping>

JSF 2.0(基于Primefaces 3.4.2) 中文乱码的处理方案相关推荐

  1. web.xml.jsf_面向初学者的JSF 2.0教程

    web.xml.jsf 1.什么是JSF? JSF是Java Server Faces的首字母缩写. 它是一种服务器端处理技术,它允许将服务器端代码嵌入到网页中. 由于可以将服务器端处理和渲染代码嵌入 ...

  2. 面向初学者的JSF 2.0教程

    1.什么是JSF? JSF是Java Server Faces的首字母缩写. 它是一种服务器端处理技术,它允许将服务器端代码嵌入到网页中. 由于可以将服务器端处理和呈现代码嵌入网页本身,因此使项目的整 ...

  3. pluto.ctl_Apache Pluto,Portlet Bridge和JSF 2.0集成示例教程

    pluto.ctl In the previous Developing Portlets Using JSP & Servlet we clarified you how can we us ...

  4. Spring3.2.0-mybatis3.2.0 基于全注解搭建的后台框架-基础版

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: Spring3.2.0-mybatis3.2.0 基于全注解搭建的后台框架-基础版 没有什么不可能  之前一直用的是自 ...

  5. web.xml.jsf_使用JSF 2.0可以更轻松地进行多字段验证

    web.xml.jsf 开发应用程序表单时最常见的需求之一是多字段验证(或跨字段验证,但我没有使用此术语,因为当我将其放在Google上时,实际上得到了一些战后图片). 我正在谈论的情况是,我们需要比 ...

  6. 使用Maven实施自定义JSF 2.0组件

    前一段时间,我编写了自己的定制JSF组件. 但是在那个时候,JSF 1.0仍然是最新的,并且该项目没有使用maven作为构建系统. 因此,我一直想用maven编写一个自定义JSF2组件. 因此,让我们 ...

  7. 使用JSF 2.0可以更轻松地进行多字段验证

    开发应用程序表单时最常见的需求之一是多字段验证(或跨字段验证,但我没有使用此术语,因为当我将其放在Google上时,实际上得到了一些战后图片). 我正在谈论的情况是,我们需要比较初始日期是早于结束日期 ...

  8. 鸿蒙os2.0基于安卓,外媒实测总结,目前华为鸿蒙OS 2.0依旧是基于安卓框架

    华为鸿蒙OS 2.0虽说在小米11的新机来袭之下,热度低了一些,但是鸿蒙OS 2.0给了很多人国产系统的希望,认为华为是唯一一个可以扛起国产系统的厂商,但是华为鸿蒙上为什么可以安装安卓应用,大家都很费 ...

  9. 制造企业3.0 基于流程的新的信息管理范例

    制造企业3.0 基于流程的新的信息管理范例   执行总结 现在是时候来重新评估我们该如何看到我们的信息管理工具集并从流程的角度审视我们的业务了.我们需要将信息和谐地安排进如支持扩展的企业并包含一个沿着 ...

最新文章

  1. 腾讯新公开这张「图」,我看了眼,上面写满「智驾」二字
  2. python生成式、生成器和迭代器
  3. linux平台之如何查看svn账号
  4. 【Elasticsearch】解除索引只读限制 read-only
  5. 计算机科技英语论文,计算机科技英语论文.doc
  6. 等离子切割机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  7. [Unity] 3D数学基础 - 2D旋转矩阵
  8. php留言板源码无需数据库,无需数据库的PHP留言板
  9. 智能机器人根据其智能程度不同,主要分为哪些类型?
  10. 用C++实现文件压缩
  11. MacOS Mojava密码最小4位,这很讨厌!
  12. Android中的封装流式布局FlowLayout
  13. U盘中毒了丢失文件怎么办
  14. 读 《硬派健身》:健身百问(不断更新)
  15. 计算机作业我家乡的变化英语作文,我的变化英语作文3篇
  16. 【ECCV2018 UPDT】Unveiling the Power of Deep Tracking[特征融合]
  17. 股票集合竞价规则详解,什么是集合竞价?集合竞价技巧分析
  18. python 论文画图
  19. mysql之数据库引擎
  20. Python Turtle绘图[难度2星]:甜美棒棒糖(基础效果 / 加描边优化)

热门文章

  1. 大数据时代的计算机信息处理技术
  2. 虚拟服务器开启伪静态设置,虚拟主机能设置伪静态吗
  3. 如何下载钉钉直播回放
  4. 基于SSM的零食商店管理系统
  5. 【新人入门】Markdown——超级好用的笔记工具
  6. 随着电子产品的普及和更新换代,电子灌封胶市场前景被看好
  7. linux重启命令 init,Linux 使用init命令实现关机,重启,切换模式
  8. 计算机桌面的东西可以放哪个盘,计算机中保存在桌面的文件是在哪个盘
  9. “重塑商汤研发体系”“动员整个公司”,我和商汤首席科学家王晓刚聊AI大模型...
  10. 期刊论文发表查重的标准是什么?