The following file shows all the changes that allow 3.0 login.jsp to compile on a 3.1 SP2 Identity Server. The deleted lines have been replaced with returns, so you can line this file up with the original to see the modifications.
<%@ page language="java" %>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page import="com.novell.nidp.common.provider.*" %>
<%@ page import="java.util.*" %>
<%@ page import="com.novell.nidp.ui.*" %>
<%@ page import="com.novell.nidp.*" %>
<%@ page import="com.novell.nidp.servlets.*" %>
<%@ page import="com.novell.nidp.resource.*" %>
<%@ page import="com.novell.nidp.resource.jsp.*" %>
<%@ page import="com.novell.nidp.common.xml.w3c.*" %>
<%
ContentHandler handler = new ContentHandler(request,response);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//<%=handler.getLanguageCode()%>">
<html lang="<%=handler.getLanguageCode()%>">
<head>
<link rel="stylesheet" href="<%= request.getContextPath() %>/images/hf_style.css" type="text/css">
<style type="text/css" media="screen"><!--
#headimage { position: relative; top: 0px; left: 0px; z-index: 1}
#title { position: relative; top: 40px; left: 5px; color: white; z-index: 4}
#locallabel { position: relative; top: 78px; left: 10px; z-index: 4}
#login { text-align: center }
--></style>
<META HTTP-EQUIV="Content-Language" CONTENT="<%=handler.getLanguageCode()%>">
<title><%=handler.getResource(JSPResDesc.TITLE)%></title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script type="text/javascript" src="<%= request.getContextPath() %>/images/showhide_2.js"></script>
<script language="JavaScript">
var i = 0;
function imageSubmit()
{
if (i == 0)
{
i = 1;
document.IDPLogin.submit();
}
return false;
}
</script>
</head>
<body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" rightmargin="0" onLoad="document.IDPLogin.Ecom_User_ID.focus();" >
<form name="IDPLogin" enctype="application/x-www-form-urlencoded" method="POST" action="<%= (String) request.getAttribute("url") %>" AUTOCOMPLETE="off">
<table style="margin-top: 6em" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" height="80 px"> </td>
<td colspan="2">
<div id="title"><b><%=handler.getResource(JSPResDesc.TITLE)%></b></div>
<div id="locallabel"><b><%=handler.getResource(JSPResDesc.PRODUCT)%></b></div>
<div id="headimage"><img src="<%= request.getContextPath() %>/images/Odyssey_LoginHead.gif" alt="" height="80" width="550" border="0"></div>
</td>
<td width="100%"> </td>
</tr>
<tr>
<td width="50%"> </td>
<td style="background-color: #efeee9; padding: 10px" colspan="2">
<%
String err = (String) request.getAttribute(NIDPConstants.ATTR_LOGIN_ERROR);
if (err != null)
{
%>
<div><label><%=err%></label></div>
<% }
%>
<span id="login2" style="display: block;">
<table>
<tr>
<td nowrap="nowrap">
<div>
<label style="width: 100px"><%=handler.getResource(JSPResDesc.USERNAME)%></label></label>
</div>
</td>
<td width="100%" nowrap="nowrap">
<div>
<input type="text" class="smalltext" name="Ecom_User_ID" size="30">
</div>
</td>
</tr>
<tr>
<td nowrap="nowrap">
<div>
<label><%=handler.getResource(JSPResDesc.PASSWORD)%></label>
</div>
</td>
<td style="white-space: nowrap">
<div>
<input type="password" class="smalltext" name="Ecom_Password" size="30">
<input alt="<%=handler.getResource(JSPResDesc.LOGIN)%>" border="0" name="loginButton2" src="<%=handler.getImage("btnlogin.gif",true)%>" type="image" value="Login" onClick="return imageSubmit()">
</div>
</td>
</tr>
</table>
</span>
</td>
<td width="100%"> </td>
</tr>
<tr>
<td width="50%"></td>
<td style="background-color: #E6D88C; padding-left: 10px"><img style="padding-right: 200px" src="<%= request.getContextPath() %>/images/LAP_interoperable_logo_100.gif" align="absmiddle" border="0"></td>
<td style="background-color: #E6D88C; padding-right: 10px" align="right" width="100">
</td>
<td width="100%"></td>
</tr>
<%
if (NIDPCripple.isCripple())
{
%>
<tr>
<td colspan=4 width="100%" align="center"><%=NIDPCripple.getCrippleAdvertisement(request.getLocale())%></td>
</tr>
<%
}
%>
</table>
</form>
</body>
</html>