一、Portlet中的资源处理
1、表单提交
<form name="form1" method="post"
action="<portletAPI:createURI><portletAPI:URIAction name='<%=SourcePortlet.FORM_ACTION%>'/>
这样就指定了该页面提交的portlet,这么写就指定了该URL的命名空间,这里的SourcePortlet.FORM_ACTION对应SourcePortlet.java(是一个Portlet)中定义的常量: public static final String FORM_ACTION = "SourcePortletFormAction";
如果是Struts的Portlet
<html:form action="/logon.do" focus="username" urltype="return"></html:form> 这里的“/logon.do”对应Struts-config中的ActionMapping中的配置 urltype="return" 表明处理表单后,直接返回View 模式
2、图片、多媒体的插入
<img src=’<%= renderResponse.encodeURL(renderRequest.getContextPath() +"/images/earth.jpg")%>’alt="Earth" />
或者
String imgURL= response.encodeURL("img/time.png");
<img src="<%=imgURL%>"
<object classid=’<%=renderResponse.encodeURL(renderRequest.getContextPath() +"/audio/WakeUpSong.mp3")%>’type="audio/wav" width="300" height="18">
<param name="controls" value="smallconsole" valuetype="data">
<param name="autostart" value="true" valuetype="data">
<param name="controller" value="true" valuetype="data">
</object>
3、html/jsp/CSS/JS等文件的引入
java:String testURL = response.encodeURL(/html/test.htm);
javascript:window.showModalDialog('<%=testURL %>',…………);
<link rel="stylesheet" type="text/css" href="<%= portletResponse.encodeURL(basestyle.css)%>">
4、javascript函数命名
function <%=portletResponse.encodeNamespace("Show_BlkBlackTab(BlkBlackTabid_num,BlkBlackTabnum)")%>
调用javascript function的组件
<a href="#" target="_self" onclick="<%=portletResponse.encodeNamespace("Show_BlkBlackTab(1,"+i+")'")%>,">js函数调用</a>
5、超链接处理
Struts Portlet中
<%@ page language="java" import="com.ibm.wps.struts.common.PortletApiUtils"
%>
<%
PortletApiUtils portletUtils = PortletApiUtils.getInstance();
%>
<%
if (portletUtils != null)
{
String url = "/target.jsp";
// add the module prefix to the url
url = portletUtils.addModulePrefix(url, request);
Object portletURI = portletUtils.createPortletURIWithStrutsURL(request, url);
%>
<a href="<%=portletURI.toString()%>">链接到指定页面</a>
<%
}
%>
二、Portlet中的JSP
1、JSP中应只做展示的处理,不做业务逻辑处理,更不能进行数据库操作处理
2、非Struts Portlet的javabean 应该存储在session中,Struts中应该使用ActionForm进行数据传输。
3、JSP的注释
不允许使用<!-- --> 使用<%-- --%>
4、JSP中尽量使用JSTL或Struts标签
三、java开发中的异常处理
采用非强制异常处理,应该避免异常一层一层向上抛
避免在try块中堆集大量的不同类型,不同功能的代码
java中常见异常
1、空指针错误 java.lang.NullPointerException
使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。
异常处理方式 1) 检查到异常出现,设置对象值为空字符串或一个默认值。
异常处理方式 2) 检测到异常出现,根本不执行某操作,直接跳转到其他处理中。
异常处理方式 3) 检查到异常出现,提示用户操作有错误。
2、格式化数字错误 java.lang.NumberFormatException
JAVA无法将其转化为合适的数字,导致抛出java.lang.NumberFormatException数字格式化异常。
3、字符串(数组、java.util.List)越界错误 java.lang.StringIndexOutOfBoundsException java.lang.IndexOutOfBoundsException java.lang.ArrayIndexOutOfBoundsException
4、类定义未找到错误 java.lang.ClassNotFoundException
5、强制装换类型错误的时候 java.lang.ClassCastException
6、向方法传递了一个不合法或不正确的参数 java.lang.IllegalArgumentException
7、打开指定路径名表示的文件失败时 java.io.FileNotFoundException
8、指示主机 IP 地址无法确定而抛出的异常 java.net.UnknownHostException
四、portlet开发中需要注意的几个问题
1、JDK版本和Portal版本的兼容
2、使用第三方工具包的JDK以及Portal兼容
3、使用第三方工具包的操作平台兼容
分享到:
相关推荐
【用友UAP的Portal开发】是针对企业级Web应用的一种解决方案,旨在提供一个集成了多种功能和服务的统一入口。UAP Portal是基于JSR 286规范,遵循J2EE技术体系,具备强大的系统集成和组装能力。它不仅支持产品展示...
《NC65portal开发文档》是一份针对NC65平台的开发者手册,旨在为软件工程师提供详尽的指导,帮助他们理解和开发基于NC65portal的应用程序。NC65portal是一个集成了多种功能的Web应用平台,专为满足企业级业务需求而...
【Portal开发详解】 Portal开发是构建企业级门户系统的关键技术,它旨在整合各种信息资源,提供统一的访问入口,以提升用户体验和工作效率。在本文中,我们将深入探讨Portal开发涉及的多个方面,包括核心概念、关键...
根据提供的文件信息,我们可以整理出以下关于Portal开发学习的技术要求,这些内容对于希望从事或提升在Portal开发领域技能的学习者非常有用。 ### Portal开发基础知识 #### 1. Java 应用开发基础 - **Java**: Java...
### UAP V6.3 Portal开发技术手册知识点 #### UAP Portal概述 UAP Portal是基于JSR286规范实现的J2EE技术体系架构的门户平台,该平台不仅可以展现产品需求,还具备强大的系统集成组装功能。它支持多种集成框架,...
同时,通过调试和修改代码,加深对Liferay Portal开发流程的理解。这些实例不仅有助于提升你的编程技能,还能让你熟悉Liferay的生态系统,包括其API、服务、工具和最佳实践。在实践中,你还可以尝试将这些实例与其他...
本开发指南旨在为开发者提供一套全面的WebLogic Portal开发准则及实践方法,帮助他们构建高效、安全且易于维护的企业门户应用。 #### 二、环境搭建与配置 - **开发工具**: 本指南推荐使用JDeveloper作为主要的开发...
【标题】:“WebSphere Portal开发手册” WebSphere Portal是一款由IBM公司提供的企业级门户平台,它允许组织构建、集成和管理各种Web应用和内容,提供个性化的访问体验。本开发手册将深入探讨如何利用WebSphere ...
IBM Portal开发是一个复杂而精细的过程,它涉及到IBM WebSphere Portal Server的使用,这是一款强大的企业级门户解决方案。在这个实例中,我们将深入探讨IBM Portal v6.0的开发环节,了解如何构建、部署和管理...
本资源集是针对Liferay Portal开发的一系列中文文档,旨在帮助开发者全面了解和掌握Liferay的相关技术。 1. **Liferay Portal 架构** Liferay Portal的核心架构基于Java EE标准,包括Servlet容器、EJB、JMS和JPA等...
### Liferay Portal 开发指南知识点概述 #### 一、简介 **Liferay Portal** 是一款功能强大的企业级门户平台,支持多种应用集成和技术扩展。它不仅提供了丰富的特性满足企业日常需求,同时也支持高度定制化开发。...
总的来说,这个IBM Portal开发教程覆盖了从基础到高级的全面知识,适合不同层次的学习者。通过阅读《portal.pdf》文档,你将能够掌握IBM Portal的开发技术,提升自己的专业技能,为企业的信息化建设贡献力量。
这个“Liferay Portal开发资料”压缩包包含了深入理解和高效开发Liferay Portal所需的关键信息。以下将详细阐述Liferay Portal的核心概念、开发流程以及数据表之间的关系。 1. **核心概念** - **Portal**: Liferay...
WebSphere Portal是一款由IBM开发的企业级门户平台,用于构建...通过这个详尽的“WebSphere Portal开发文档”集合,开发者能够系统地学习和掌握WebSphere Portal的各个方面,从而高效地构建和维护企业级门户解决方案。
基于.Net的SAP Portal开发是一种技术融合,旨在利用微软的.Net框架与SAP的企业级门户解决方案进行集成。SAP Enterprise Portal是一个强大的应用集成平台,它集成了各种商业信息、应用程序和服务,为用户提供统一的...
【portal开发教程】 在信息化高速发展的今天,Portal技术已经成为企业构建统一信息入口、提升用户体验、实现个性化服务的重要手段。本文将深入探讨Portal开发的核心概念、关键技术和应用实践,旨在为初学者提供一条...
【压缩包子文件的文件名称列表】:IBM+WebSphere+Portal+开发教程1[1].8.pdf,这个文件很可能是教材的PDF版本,包含了关于Websphere Portal开发的详细信息和步骤指导。 **Websphere Portal 知识点详解** 1. **...