portal开发

一、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、使用第三方工具包的操作平台兼容
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值