`
donghp1979
  • 浏览: 9439 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Seam2.1.x学习笔记(三)

阅读更多

总结一下使用Seam过程中遇到的一点问题:

1. 关于Seam自动生成的页面在IE6内显示错误的问题

搜索、编辑和表单显示的标题在IE6里面看不到,但是用鼠标拖拉相应的位置则会出现,而在Firefox中都正常,出现问题的组件有如下:

    <rich:simpleTogglePanel style="width:100%" label="用户信息搜索条件" switchType="ajax">

      .....

    </rich:simpleTogglePanel>

 

    <rich:panel style="width:600px">
        <f:facet name="header"  >用户详细信息</f:facet>

        ......

    </rich:panel style="width:600px">
    默认生成的JBoss代码没有style="width:600px"和style="width:100%"等样式属性,所以在IE6内显示有些问题,通过添加这个属性则给予了解决,同时在Firefox中的表现也是正常的。

 

2. 修改Seam生成的代码的默认CSS样式以便更好支持中文字体显示的问题。

由于默认的CSS样式对于汉字的显示非常不友好,所以我通过修改stylesheet/theme.css文件控制字体的颜色和大小,通常设置为{ font-size: 9pt; font-weight: normal;}的视觉效果较好,对于小字体最好不要使用粗体,否则在Firefox中的显示很别扭。另外,对于字体大小的指定最好以pt为单位,而不要使用像素,会影响不同机器上的显示效果。

经过一番努力,对生产的页面进行了汉化,汉字显示效果在IE6和Firefox中都一样了,感觉还行,坚定了使用Seam的信心。

以下提供一个修改后的theme.css文件,是Seam 2.1.1.GA + JBoss Tools 3.0.0CR1的环境:

html {
	overflow-y: scroll;
}

body {
	font-size: 9pt;
	font-weight: normal;
	margin: 0px;
}

a img {
	border: none;
}

h1 {
	font-size: medium;
	margin-top: 0;
}

input[type=submit], input[type=button] {
	font-size: 9pt;
	font-weight: normal;
	margin: 5px 5px 5px 0;
	cursor: pointer;
}

input[type=text], input[type=password], textarea {
	font-size: 9pt;
	font-weight: normal;
	padding-left: 1px;
}

.tableControl, .actionButtons {
	width: 100%;
}

.tableControl a {
	padding-left: 10px;
}

.tableControl {
	text-align: right;
}

.footer {
	text-align: center;
	font-size: 9pt;
	font-weight: normal;
	margin-bottom: 10px;
}

.rich-table {
	width: 100%;
}

.body {
	padding: 30px;
}

.columnHeader:hover {
	color: #FF6600;
}

.message {
	padding: 5px;
	list-style: none;
	border: 0;
	background: none;
	padding: 0;
	color: #000000;
	margin: 5px 0 8px 0;
	font-size: 9pt;
	font-weight: normal;
}

.message li {
	background: no-repeat left center;
	padding-top: 1px;
	padding-left: 20px;
	margin-left: 3px;
}

.message li.infomsg {
	background-image: url(../img/msginfo.png);
}

.message li.errormsg {
	background-image: url(../img/msgerror.png);
}

.message li.warnmsg {
	background-image: url(../img/msgwarn.png);
}

.name {
	vertical-align: top;
	font-size: 9pt;
	font-weight: normal;
	width: 115px;
	float: left;
	padding: 5px;
	margin-top: 3px;
	clear: left;
}

.value {
	font-size: 9pt;
	font-weight: normal;
}

.columnHeader {
	font-size: 9pt;
	font-weight: normal;
}

.value {
	float: left;
	padding: 5px;
}

.error {
	float: left;
	padding: 5px;
}

.errors {
	color: red;
	vertical-align: middle;
}

img.errors {
	padding-right: 5px;
}

.errors input, .errors textarea {
	border: 1px solid red !important;
}

.required {
	color: red;
	padding-left: 2px;
}

.rich-stglpanel-body {
	overflow: auto;
} 

/* the specificity here is necessary to override the defaults */
.rich-panel .rich-panel-header,
.rich-stglpanel .rich-stglpanel-header {
	padding: 2px 3px;
	font-size: 9pt;
	font-weight: normal;
}

select {
	font-size: 9pt;
	font-weight: normal;
}

.rich-panel input[type=submit], .rich-panel input[type=button],
.rich-tabpanel input[type=submit], .rich-tabpanel input[type=button] {
	margin-bottom: 0;
}

.tableControl input[type=submit], .tableControl input[type=button], .tableControl select {
	margin: 5px 0 5px 5px;
}

/* I don't know why this is necessary, but the select is off by a pixel on the top and is padding too much on the left */
.tableControl select {
	margin-left: 2px;
	position: relative;
	top: 1px;
}

.actionButtons {
	padding-left: 1px;
}

.actionButtons select {
	margin: 5px 5px 5px 0;
	vertical-align: bottom;
}

.rich-datalist {
	list-style: square;
	margin: 6px 0 1px 0;
	padding-left: 18px;
}

.rich-list-item {
	padding-bottom: 4px;
}

div.info {
	font-size: 9pt;
	font-weight: normal;
}

ul.bullets {
	list-style: square;
}

ul.bullets li {
	padding-bottom: 2px;
}

.rich-table-cell {
	font-size: 9pt;
	font-weight: normal;
}

td.action {
	font-size: 9pt;
	font-weight: normal;
	text-align: center;
	width: 8em;
	white-space: nowrap;
}

.rich-toolbar-item a {
	font-size: 10pt;
	font-weight: normal;
}

td.action a {
	padding-left: 1px;
	padding-right: 1px;
	font-size: 10pt;
	font-weight: normal;
}

 

 

另外,如果能够自定义一个Richfaces的皮肤插件,对于使用Seam会大有裨益,毕竟在代码里手工添加太多的样式代码也不好看嘛。

 

Richfaces + JSF是我目前最缺乏的知识了,不看具体的例子都不会用,而且对于如何和样式结合也不懂,要补课的地方很多啊。

 

 

 

分享到:
评论

相关推荐

    seam 2.x web development

    综上所述,《Seam 2.x Web Development》不仅是一本实用指南,更是学习Seam框架及构建现代Web应用程序不可或缺的参考资料。无论您是初学者还是有一定经验的开发者,都能从中获得宝贵的启示和帮助。

    Packt.Publishing.Seam.2.x.Web.Development.Apr.2009

    #### 三、Seam 2.x 的核心组件 - ** Seam Core**:提供基础框架服务,如生命周期管理、转换和验证等。 - **Seam UI**:增强 JSF 的功能,引入更高级的 UI 组件。 - **Seam Entities**:与 Hibernate 结合使用,提供...

    seam2.1说明文档

    #### 三、Seam 2.1 架构与组件 Seam 2.1 采用了模块化的设计理念,其核心组件包括但不限于: - **Seam Contextual Components**:这是 Seame 2.1 中的一个关键概念,用于管理和维护组件的状态,使得组件能够在不同...

    seam 2.1 参考手册

    ### Seam 2.1 参考手册核心知识点详解 #### 一、Seam 2.1 GA 版本概述 Seam 2.1 GA版本是Seam框架的一个重要更新,该版本带来了许多新的特性和改进,使得Seam更加适合于现代的企业级应用开发。 #### 二、支持...

    Seam2.XWebDevelopment.pdf 英文原版

    Seam 2.X Web Development

    Jboss-seam reference2.1中文版

    《JBoss Seam 2.1 用户手册中文版》是一本详细介绍如何使用JBoss Seam框架进行企业级应用开发的教程。该手册由“*工*”翻译,并由南山青牛整理成PDF格式,便于读者下载阅读。JavaEye社区提供了这本书的电子版自动...

    Seam 2.1 安全模块框架

    Seam 2.1 安全模块框架是一个强大的工具,为使用 Seam 开发的应用程序提供了全面的安全管理和认证机制。框架的核心特性包括: 1. **安全验证**:Seam 提供了一个可扩展的安全验证层,基于 Java Authentication and ...

    基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》全书

    ### 基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》全书知识点概览 #### 一、Seam框架简介 Seam框架是JBoss组织推出的一个开源项目,旨在简化企业级应用开发,通过...

    jboss-seam2.1

    Seam 是一种业级 企 Java 的应规用程序框架。它的灵感源自下列原 : 只有一种“工具” Seam为 应 业务业业 义 种统 组 你的 用程序中所有的 定 了一 一的 件模型。 Seam组件可能是 态义 关关 态 有状 的,包含与几...

    Jboss seam2.1版本开发参考文档

    ### JBoss Seam 2.1版本开发参考知识点 #### 一、JBoss Seam 框架简介 **JBoss Seam** 是一个企业级Java Web应用框架,它简化了基于Java平台的应用程序开发过程。该框架提供了强大的上下文管理功能、会话管理、...

    seam build.properties文件详解

    #Generated by seam setup #Mon Jun 08 21:07:28 CST 2009 #数据库密码 hibernate.connection.password=testSeamGen #工作目录 workspace.home=E\:/workspace_seam #实体存放路径 model.package=...

    SeamCarving.zip

    Seam Carving是一种图像处理技术,常用于图像缩放,特别是在保持重要视觉元素不变的情况下减小图像尺寸。这种技术的核心思想是找到一条低能量的“缝”,沿着这条缝删除或添加像素,从而改变图像的大小。在“Seam...

    基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》摘要

    ### 基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》摘要分析 #### 核心概念:Seam框架概述 Seam框架是一款革命性的Web应用开发框架,它将标准的Java EE技术与一系列...

    seam carving.zip

    源代码是学习和实践Seam Carving的宝贵资源,通过阅读和调试代码,可以更深入地理解算法的工作原理。 **5. 结论** Seam Carving技术以其内容自适应的特性,在图像和视频处理领域有着广泛的应用。尽管存在一些局限...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................

    jboss.seam.simplicity.and.power.beyond.java.ee2007

    jboss.seam.simplicity.and.power.beyond.java.ee2007

    seam-978-1-8471-9592-0:Seam 2.x 网页开发

    seam-978-1-8471-9592-0 Seam 2.x 网页开发

    j-seam2.zip

    开发者可以通过研究这些内容,深入了解Seam的工作原理,学习如何在实际项目中应用Seam的各种特性。 总之,JBoss Seam 2作为一个强大的Java开发框架,极大地简化了企业级应用的开发流程,提高了开发效率。通过与JSF...

    Practical.JBoss.Seam.Projects

    Practical.JBoss.Seam.Projects.pdf

    java培训课程-JBOSS-SEAM开发.pptx

    Java培训课程-JBOSS-SEAM开发主要涵盖了Java企业级应用开发中的关键技术和框架,特别是JBOSS SEAM的应用。SEAM是一个全面的Java EE框架,旨在简化开发过程,提高开发效率,同时提供了丰富的功能来处理复杂的业务逻辑...

Global site tag (gtag.js) - Google Analytics