间距的原因:portlet之间存在的间距过大的原因是portal v6.0提供了托拽的功能,这些间距是为了这个功能而存在的,所以如果一点间距都不想要的话,portal就没有了托拽的功能。
首先是portlet之间的间距
它是由皮肤下边的两个UnlayeredContainer-V.jsp(控制垂直间距),UnlayeredContainer-Hjsp jsp(控制水平间距)文件导致的。只要在里边修改它内置的一些空隙就可以了
修改后的UnlayeredContainer-H,jsp
<table class="layoutRow" cellpadding="0" cellspacing="0" border="0"><tr>
<%
boolean hasChildren=false;
%>
<portal-skin:layoutNodeLoop var="currentLayoutNode">
<%
hasChildren=true;
String columnWidth=(String)currentLayoutNode.getMetrics().getValue(CompositionMetrics.WID;
%>
<td valign="top" <% if (columnWidth != null)
{
out.print ("width=\"");
out.print (columnWidth);
out.print ("\"");
} %>>
<portal-skin:layoutNodeRender/>
</td>
<td style="width:1px;" valign="top">
<dnd:drop namespace="wp" type="portlet_windowID" action="#" name="<%=com.ibm.wps.dnd.util.Constants.PORTLET_INSTANCE_ID%>" validator="com.ibm.wps.dnd.impl.DNDPortletActionValidator" optionalActionJavascript="DND_MOVE_PORTLET_JS"><dnd:additionalAction namespace="wp" type="portlet_ID" action="#" name="<%=com.ibm.wps.dnd.util.Constants.PORTLET_ID%>" validator="com.ibm.wps.dnd.impl.DNDPortletActionValidator" supportsMultiselect="true" multiselectDelimiter="__DND_DELIM__" optionalActionJavascript="DND_ADD_PORTLET_JS"/>
</dnd:drop></td>
</portal-skin:layoutNodeLoop>
<%
if (!hasChildren) {%><td width="100%"> </td>
<%}%></tr>
</table>
UnlayeredContainer-V.jsp:
<table class="layoutColumn" cellpadding="0" cellspacing="0" border="0">
<portal-skin:layoutNodeLoop var="currentLayoutNode">
<tr>
<td style="width:100%;" valign="top"><portal-skin:layoutNodeRender/></td>
</tr>
</portal-skin:layoutNodeLoop>
<tr>
<td>
<dnd:drop namespace="wp" type="portlet_windowID" action="#" name="<%=com.ibm.wps.dnd.util.Constants.PORTLET_INSTANCE_ID%>" validator="com.ibm.wps.dnd.impl.DNDPortletActionValidator" optionalActionJavascript="DND_MOVE_PORTLET_JS">
<dnd:additionalAction namespace="wp" type="portlet_ID" action="#" name="<%=com.ibm.wps.dnd.util.Constants.PORTLET_ID%>" validator="com.ibm.wps.dnd.impl.DNDPortletActionValidator" supportsMultiselect="true" multiselectDelimiter="__DND_DELIM__" optionalActionJavascript="DND_ADD_PORTLET_JS"/>
</dnd:drop>
</td>
</tr>
</table>
等你把这些文件替换后发布到服务器上后还是发现有一点间距:
这些间距大概有5px左右吧 !
你可以看看style-theme。Jspf 文件
有个wpsPortlet 样式文件定义了每个portlet 的间距
.wpsPortlet{
margin:5px;
border-left: 1px solid;
border-right: 1px solid;
border-bottom: 1px solid;
border-color: ${colors.skinBorder};
background-image:none;
}
这下 portlet与portlet之间就没有间距了,可是portlet与最左边的屏幕还是有间距
可以看一下 defaultjsp文件
<td width="100%" height="100%" valign="top">
<a name="wpsMainContent">
</a>
<%-- Call the portal engine command to render the portlets for this page --%>
<div id="mainContent">
<portal-core:screenRender/>
</div></td>
</tr>
</table>
这些代码导入了屏幕 你可以看到有一个 id=“mainContent”属性。
再来看 style-theme.jspf 文件
#mainContent {
padding: 5px;
}
整个portlet与屏幕之间 还是有间距 再把它给改一下就可以了
现在没有间距了 可是当你把皮肤替换为noskins 时发现又出现间隙了
在style-theme.jspf文件里你可以看到这个样式文件它定义了单个portlet与皮肤之间的间距,不用我说你也知道杂办了吧!
.wpsPortletBody{
margin: 5px;
background-image:none;
}
现在终于在页面上找不到一点间距了 。
分享到:
相关推荐
本篇将详细探讨"WebSphere Portal 6.1"中Portlet的隐藏及动态Title实现,这对于理解和优化用户界面(UI)体验至关重要。 Portlet是WebSphere Portal中的基本构建块,它类似于Web应用程序的小部件,可以嵌入到门户...
事件处理是portlet之间通信的一种方式。在v6.0中,portlet可以发布和订阅事件,实现portlet间的协作和数据共享。 8. **SPI Docs** "spi_docs"可能是包含WebSphere Portal v6.0 Service Provider Interface (SPI)...
综上所述,基于 Struts 2 构建 WebSphere Portal 上的 Portlet 应用涉及了 Portlet 开发、Struts 2 框架的应用、两者之间的整合以及相关测试和部署。通过深入理解这些知识点,开发者能够构建出高效、稳定且可维护的 ...
3. **portlet开发**:portlet是WebSphere Portal的核心组件,手册会讲解portlet生命周期、开发工具(如WAS Portlet Factory或Eclipse插件)、portlet API使用以及portlet部署流程。 4. **个性化与布局**:内容将...
随着门户技术的成熟,WebSphere Portal Server引入了委托管理、级联页面布局、Web服务门户联盟等概念,支持高级portlet应用、业务流程集成、知识管理及高级个性化功能,进一步提升了门户的智能化水平。 ### 四、...
通过IBM演示-WebSpherePortal教程.exe文件,你可以逐步学习如何配置和使用这个平台,从基础概念到高级功能,包括安装、配置、portlet开发、安全设置等,全面掌握WebSphere Portal的运用技巧。教程将通过实例和演练...
WebSphere Portal的配置也需要调整。修改portlet应用程序的部署描述符(如web.xml和portlet.xml),更新指向新数据库的JNDI名称。同时,修改WebSphere Application Server的资源引用,指向新的Oracle数据库连接。 ...
IBM WebSphere Portal 是一款强大的企业级门户平台,它允许组织构建、管理和个性化复杂的Web应用程序,以提供统一的访问体验。这个学习资料包将带你深入了解WebSphere Portal的核心概念、功能和应用。 首先,让我们...
The dictionary defines a portal as a grand or imposing door or entrance; hence, that picture on the cover. In this book, you will learn why the word portal has become a major buzzword in the world of ...
《WebSphere Portal 集群配置详解》 WebSphere Portal 集群是IBM提供的一种高可用性和可扩展性的解决方案,用于构建企业级的门户应用环境。本篇将详细阐述如何在Linux环境下进行WebSphere Portal集群的安装配置,...
IBM演示WebSpherePortal教程
3. **开发环境**:开发Websphere Portal应用通常使用IBM RAD(Rational Application Developer)或Eclipse IDE,配合Websphere Portlet Factory或直接编写portlet代码(Java或JSF)。 4. **portlet开发**:portlet...
2. Portlet开发:讲解如何创建和部署portlet,portlet是WebSphere Portal中的基本交互单元,可以是任何Web应用或小部件。 3. 个性化:讨论如何根据用户角色、偏好或行为来定制门户内容。 4. 安全性:涵盖身份验证...
2. **portlet开发**:portlet是WebSphere Portal Express的核心组件,它们是可重用的、自包含的UI模块。文档将详细讲解portlet生命周期、portlet API的使用、portlet的部署和调试。开发者需要学习如何使用JSR 168或...
- IBM WebSphere Portlet Factory Runtime - IBM Lotus Sametime Connect - IBM Tivoli Directory Server #### 三、安装与配置指南 ##### 3.1 安装准备工作 - **系统要求**: 在安装之前,需确保满足系统硬件和...
### WebSphere Portal 6.1 集群安装与配置详解 #### 一、引言 构建并配置一个集群环境可以是一项极其复杂的工作。本文档提供了使用 WebSphere Portal 6.1 版本构建集群环境的最佳实践方法。该示例将创建一个包含两...
### WebSphere Portal 7 入门教程:PageBuilder 页面构建器 #### 一、WebSphere Portal 7 PageBuilder 概览 **WebSphere Portal 7** 的发布标志着门户技术的重大进步,尤其体现在其强大的页面构建工具 **...
【WebSphere Portal 7 主题开发详解】 在WebSphere Portal V7中,为了实现自定义的用户界面体验,开发者需要创建自己的主题。WebSphere Portal 7 提供了两种内置主题,但为了满足特定需求,我们可以基于PageBuilder...
IBM WebSphere Portal 解决方案