Hi,
- What do you mean by "the servlet [...] is not correctly generated"?
I decompiled the servlet that correspond to the jsp pages.
And I can see that the classes in WL + DOS (or also Tomcat + DOS) are
different than in WL + SUN. In the last case, it is missing the sentence:
import org.apache.struts.taglib.html.JavascriptValidatorTag
and also, all the sentences that need this class in the _jspservice method.
- "not displayed correctly"?
When I call my application, the page shows as 'plain text' the javascript
that the validator includes, and below it my html code is correctly
displayed. Also, I noted that the javascript is not completed: it was not
header and it was only included the javascript that is retrieved from the
validator-rules.xml, but it is not included the javascript needed for the
DynaValidatorActionForm.
The same occurs with all the pages of the application that use validator
and Dyna forms.
----THE PAGE THAT THE BROWSER RECEIVES IS EXACTLY THIS:
--------------------------------
function validateDate(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oDate = new DateValidations();
for (x in oDate) {
var value = form[oDate[x][0]].value;
var datePattern = oDate[x][2]("datePatternStrict");
if ((form[oDate[x][0]].type == 'text' ||
form[oDate[x][0]].type == 'textarea') &&
(value.length > 0) &&
(datePattern.length > 0)) {
var MONTH = "MM";
var DAY = "dd";
var YEAR = "yyyy";
var orderMonth = datePattern.indexOf(MONTH);
var orderDay = datePattern.indexOf(DAY);
var orderYear = datePattern.indexOf(YEAR);
if ((orderDay < orderYear && orderDay > orderMonth)) {
var iDelim1 = orderMonth + MONTH.length;
var iDelim2 = orderDay + DAY.length;
var delim1 = datePattern.substring(iDelim1,
iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2,
iDelim2 + 1);
if (iDelim1 == orderDay && iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{2})(\\d{2})
(\\d{4})$");
} else if (iDelim1 == orderDay) {
dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" +
delim2 + "](\\d{4})$");
} else if (iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{2})[" + delim1 +
"](\\d{2})(\\d{4})$");
} else {
dateRegexp = new RegExp("^(\\d{2})[" + delim1 +
"](\\d{2})[" + delim2 + "](\\d{4})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[2], matched[1],
matched[3])) {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else if ((orderMonth < orderYear && orderMonth >
orderDay)) {
var iDelim1 = orderDay + DAY.length;
var iDelim2 = orderMonth + MONTH.length;
var delim1 = datePattern.substring(iDelim1,
iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2,
iDelim2 + 1);
if (iDelim1 == orderMonth && iDelim2 == orderYear)
{
dateRegexp = new RegExp("^(\\d{2})(\\d{2})
(\\d{4})$");
} else if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" +
delim2 + "](\\d{4})$");
} else if (iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{2})[" + delim1
+ "](\\d{2})(\\d{4})$");
} else {
dateRegexp = new RegExp("^(\\d{2})[" + delim1
+ "](\\d{2})[" + delim2 + "](\\d{4})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[1], matched[2],
matched[3])) {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else if ((orderMonth > orderYear && orderMonth <
orderDay)) {
var iDelim1 = orderYear + YEAR.length;
var iDelim2 = orderMonth + MONTH.length;
var delim1 = datePattern.substring(iDelim1,
iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2,
iDelim2 + 1);
if (iDelim1 == orderMonth && iDelim2 == orderDay)
{
dateRegexp = new RegExp("^(\\d{4})(\\d{2})
(\\d{2})$");
} else if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" +
delim2 + "](\\d{2})$");
} else if (iDelim2 == orderDay) {
dateRegexp = new RegExp("^(\\d{4})[" + delim1
+ "](\\d{2})(\\d{2})$");
} else {
dateRegexp = new RegExp("^(\\d{4})[" + delim1
+ "](\\d{2})[" + delim2 + "](\\d{2})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[3], matched[2],
matched[1])) {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
focusField = form[oDate[x][0]];
}
fields[i++] = oDate[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function isValidDate(day, month, year) {
if (month < 1 || month > 12) {
return false;
}
if (day < 1 || day > 31) {
return false;
}
if ((month == 4 || month == 6 || month == 9 || month == 11)
&&
(day == 31)) {
return false;
}
if (month == 2) {
var leap = (year % 4 == 0 &&
(year % 100 != 0 || year % 400 == 0));
if (day>29 || (day == 29 && !leap)) {
return false;
}
}
return true;
}
function validateFloat(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oFloat = new FloatValidations();
for (x in oFloat) {
var field = form[oFloat[x][0]];
if (field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
field.type == 'radio') {
var value = '';
// get field's value
if (field.type == "select-one") {
var si = field.selectedIndex;
if (si >= 0) {
value =
field.options[si].value;
}
} else {
value = field.value;
}
if (value.length > 0) {
var iValue = parseFloat(value);
if (isNaN(iValue)) {
if (i == 0) {
focusField = field;
}
fields[i++] = oFloat[x][1];
bValid = false;
}
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateFloatRange(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRange = new floatRange();
for (x in oRange) {
if ((form[oRange[x][0]].type == 'text' ||
form[oRange[x][0]].type == 'textarea') &&
(form[oRange[x][0]].value.length > 0)) {
var fMin = parseFloat(oRange[x][2]("min"));
var fMax = parseFloat(oRange[x][2]("max"));
var fValue = parseFloat(form[oRange[x][0]].value);
if (!(fValue >= fMin && fValue <= fMax)) {
if (i == 0) {
focusField = form[oRange[x][0]];
}
fields[i++] = oRange[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateByte(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oByte = new ByteValidations();
for (x in oByte) {
var field = form[oByte[x][0]];
if (field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
field.type == 'radio') {
var value = '';
// get field's value
if (field.type == "select-one") {
var si = field.selectedIndex;
if (si >= 0) {
value =
field.options[si].value;
}
} else {
value = field.value;
}
if (value.length > 0) {
var iValue = parseInt(value);
if (isNaN(iValue) || !(iValue >= -128 &&
iValue <= 127)) {
if (i == 0) {
focusField = field;
}
fields[i++] = oByte[x][1];
bValid = false;
}
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateRange(form) {
return validateIntRange(form);
}
function validateMaxLength(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMaxLength = new maxlength();
for (x in oMaxLength) {
if (form[oMaxLength[x][0]].type == 'text' ||
form[oMaxLength[x][0]].type == 'textarea' ||
form[oMaxLength[x][0]].type == 'password') {
var iMax = parseInt(oMaxLength[x][2]("maxlength"));
if (form[oMaxLength[x][0]].value.length > iMax) {
if (i == 0) {
focusField = form[oMaxLength[x][0]];
}
fields[i++] = oMaxLength[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateEmail(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oEmail = new email();
for (x in oEmail) {
if ((form[oEmail[x][0]].type == 'text' ||
form[oEmail[x][0]].type == 'textarea') &&
(form[oEmail[x][0]].value.length > 0)) {
if (!checkEmail(form[oEmail[x][0]].value)) {
if (i == 0) {
focusField = form[oEmail[x][0]];
}
fields[i++] = oEmail[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
/**
* Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
* http://javascript.internet.com
*/
function checkEmail(emailStr) {
if (emailStr.length == 0) {
return true;
}
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.]
(\d{1,3})$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom + ")
*$");
var matchArray=emailStr.match(emailPat);
if (matchArray == null) {
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat) == null) {
return false;
}
var IPArray = domain.match(ipDomainPat);
if (IPArray != null) {
for (var i = 1; i <= 4; i++) {
if (IPArray[i] > 255) {
return false;
}
}
return true;
}
var domainArray=domain.match(domainPat);
if (domainArray == null) {
return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if ((domArr[domArr.length-1].length < 2) ||
(domArr[domArr.length-1].length > 3)) {
return false;
}
if (len < 2) {
return false;
}
return true;
}
function validateRequired(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRequired = new required();
for (x in oRequired) {
var field = form[oRequired[x][0]];
if (field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'file' ||
field.type == 'select-one' ||
field.type == 'radio' ||
field.type == 'password') {
var value = '';
// get field's value
if (field.type == "select-one") {
var si = field.selectedIndex;
if (si >= 0) {
value =
field.options[si].value;
}
} else {
value = field.value;
}
if (value == '') {
if (i == 0) {
focusField = field;
}
fields[i++] = oRequired[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateIntRange(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRange = new intRange();
for (x in oRange) {
if ((form[oRange[x][0]].type == 'text' ||
form[oRange[x][0]].type == 'textarea') &&
(form[oRange[x][0]].value.length > 0)) {
var iMin = parseInt(oRange[x][2]("min"));
var iMax = parseInt(oRange[x][2]("max"));
var iValue = parseInt(form[oRange[x][0]].value);
if (!(iValue >= iMin && iValue <= iMax)) {
if (i == 0) {
focusField = form[oRange[x][0]];
}
fields[i++] = oRange[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateMask(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMasked = new mask();
for (x in oMasked) {
if ((form[oMasked[x][0]].type == 'text' ||
form[oMasked[x][0]].type == 'textarea' ||
form[oMasked[x][0]].type == 'password') &&
(form[oMasked[x][0]].value.length > 0)) {
if (!matchPattern(form[oMasked[x][0]].value,
oMasked[x][2]("mask"))) {
if (i == 0) {
focusField = form[oMasked[x][0]];
}
fields[i++] = oMasked[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function matchPattern(value, mask) {
var bMatched = mask.exec(value);
if (!bMatched) {
return false;
}
return true;
}
function validateCreditCard(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oCreditCard = new creditCard();
for (x in oCreditCard) {
if ((form[oCreditCard[x][0]].type == 'text' ||
form[oCreditCard[x][0]].type == 'textarea') &&
(form[oCreditCard[x][0]].value.length > 0)) {
if (!luhnCheck(form[oCreditCard[x][0]].value)) {
if (i == 0) {
focusField = form[oCreditCard[x][0]];
}
fields[i++] = oCreditCard[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
/**
* Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
*/
function luhnCheck(cardNumber) {
if (isLuhnNum(cardNumber)) {
var no_digit = cardNumber.length;
var oddoeven = no_digit & 1;
var sum = 0;
for (var count = 0; count < no_digit; count++) {
var digit = parseInt(cardNumber.charAt(count));
if (!((count & 1) ^ oddoeven)) {
digit *= 2;
if (digit > 9) digit -= 9;
};
sum += digit;
};
if (sum == 0) return false;
if (sum % 10 == 0) return true;
};
return false;
}
function isLuhnNum(argvalue) {
argvalue = argvalue.toString();
if (argvalue.length == 0) {
return false;
}
for (var n = 0; n < argvalue.length; n++) {
if ((argvalue.substring(n, n+1) < "0") ||
(argvalue.substring(n,n+1) > "9")) {
return false;
}
}
return true;
}
function validateShort(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oShort = new ShortValidations();
for (x in oShort) {
var field = form[oShort[x][0]];
if (field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
field.type == 'radio') {
var value = '';
// get field's value
if (field.type == "select-one") {
var si = field.selectedIndex;
if (si >= 0) {
value =
field.options[si].value;
}
} else {
value = field.value;
}
if (value.length > 0) {
var iValue = parseInt(value);
if (isNaN(iValue) || !(iValue >= -32768 &&
iValue <= 32767)) {
if (i == 0) {
focusField = field;
}
fields[i++] = oShort[x][1];
bValid = false;
}
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateMinLength(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oMinLength = new minlength();
for (x in oMinLength) {
if (form[oMinLength[x][0]].type == 'text' ||
form[oMinLength[x][0]].type == 'textarea' ||
form[oMinLength[x][0]].type == 'password') {
var iMin = parseInt(oMinLength[x][2]("minlength"));
if (form[oMinLength[x][0]].value.length < iMin) {
if (i == 0) {
focusField = form[oMinLength[x][0]];
}
fields[i++] = oMinLength[x][1];
bValid = false;
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function validateInteger(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oInteger = new IntegerValidations();
for (x in oInteger) {
var field = form[oInteger[x][0]];
if (field.type == 'text' ||
field.type == 'textarea' ||
field.type == 'select-one' ||
field.type == 'radio') {
var value = '';
// get field's value
if (field.type == "select-one") {
var si = field.selectedIndex;
if (si >= 0) {
value =
field.options[si].value;
}
} else {
value = field.value;
}
if (value.length > 0) {
if (!isAllDigits(value)) {
bValid = false;
} else {
var iValue = parseInt(value);
if (isNaN(iValue) || !(iValue >=
-2147483648 && iValue <= 2147483647)) {
if (i == 0) {
focusField = field;
}
fields[i++] = oInteger[x][1];
bValid = false;
}
}
}
}
}
if (fields.length > 0) {
focusField.focus();
alert(fields.join('\n'));
}
return bValid;
}
function isAllDigits(argvalue) {
argvalue = argvalue.toString();
var validChars = "0123456789";
var startFrom = 0;
if (argvalue.substring(0, 2) == "0x") {
validChars = "0123456789abcdefABCDEF";
startFrom = 2;
} else if (argvalue.charAt(0) == "0") {
validChars = "01234567";
startFrom = 1;
}
for (var n = 0; n < argvalue.length; n++) {
if (validChars.indexOf(argvalue.substring(n, n+1)) ==
-1) return false;
}
return true;
}
<html>
<head>
<title></title>
<meta HTTP-EQUIV="expires" CONTENT="0">
<script language="JavaScript" src
="/estatico/SAC_obj/js/library.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC
="/estatico/SAC_obj/js/macromedia.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC
="/estatico/SAC_obj/js/cookies.js"></SCRIPT>
<script language="JavaScript" src="/estatico/SAC_obj/js/md5.js"></script>
<script language="JavaScript" src
="/estatico/SAC_obj/js/desabilita.js"></script>
<script language="JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0;
i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function habilitaSubmit()
{
var objLink = document.all("linkOk");
var objImg = document.all("imgOk");
habilita(objImg, objLink);
}
function desabilitaSubmit()
{
var objLink = document.all("linkOk");
var objImg = document.all("imgOk");
desabilita(objImg, objLink);
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
function trataKeyUp()
{
if(event.keyCode == 13) // enter
{
submitForm();
}
}
function submitForm()
{
if (validateLogonForm(document.form)) {
// guarda página de retorno no case de erro
// (é necessário fazer isso napáina de login porque o usuário
// pode ter acesso a apenas uma opção do menu, nesse caso a
página
// de menu não mostrada)
setCookie("paginaAnterior", "sellinha", 1);
document.form.senha.value =
calcMD5(document.form.txtSenha.value);
desabilitaSubmit();
document.form.submit();
}
return false;
}
function onLoadInit(win)
{
MM_preloadImages
('/estatico/SAC_obj/imagens/login/ok.gif','/estatico/SAC_obj/imagens/login/ok_off.gif');
habilitaSubmit();
document.form.usuario.focus();
var url = win.location.href;
if(url.indexOf("a=noreload") == -1)
{
if(win != top)
{
top.location.href = './Welcome.do?a=noreload';
}
}
}
-->
</script>
</head>
<LINK REL="STYLESHEET" TYPE="text/css" HREF
="/estatico/SAC_obj/css/style.css">
<body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 bgcolor="
#FFFFFF" onLoad="onLoadInit(this)">
<FORM action="Principal.do" method="post" name="form" >
<input type="hidden" name="loginPage" value="true">
<input type="hidden" name="senha" value="true">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height
="90%">
<tr>
<td align="center">
<table border="0" cellspacing="0" cellpadding="0" width="45%"
height="230">
<tr>
<td width="34">
<table width="34" border="0" cellspacing="0" cellpadding="0"
height="230">
<tr>
<td width="34" height="34"><img src
="/estatico/SAC_obj/imagens/login/corner_topleft.gif" width="34" height
="34"></td>
</tr>
<tr>
<td bgcolor="#000066" align="left"><img src
="/estatico/SAC_obj/imagens/login/fio_verde.gif" width="2" height
="162"></td>
</tr>
<tr>
<td width="34" height="34"><img src
="/estatico/SAC_obj/imagens/login/corner_botleft.gif" width="34" height
="34"></td>
</tr>
</table>
</td>
<td bgcolor="#000066" valign="middle">
<table width="100%" border="0" cellspacing="0" cellpadding
="0" height="230%">
<tr>
<td valign="top" height="2"><img src
="/estatico/SAC_obj/imagens/login/fio_verde.gif" width="100%" height
="2"></td>
</tr>
<tr>
<td align="center" height="226" valign="middle"><br>
<table width="100%" border="0" cellspacing="0"
cellpadding="0">
<tr valign="middle">
<td class="titulo">SAC-VAS </td>
<td align="right"><img src
="/estatico/SAC_obj/imagens/login/logotelef.gif" width="113" height
="53"></td>
</tr>
</table>
<br>
<table width="100%" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td width="18">
<table width="18" border="0" cellspacing="0"
cellpadding="0" height="100%">
<tr>
<td width="18" height="19"><img src
="/estatico/SAC_obj/imagens/login/corner_topleft2.gif" width="18" height
="19"></td>
</tr>
<tr>
<td bgcolor="#336699" align="left"> </td>
</tr>
<tr>
<td width="18" height="19"><img src
="/estatico/SAC_obj/imagens/login/corner_botleft2.gif" width="18" height
="19"></td>
</tr>
</table>
</td>
<td width="403" bgcolor="#336699" align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="titulo" align="right">Usuário:
</td>
<td>
<input id="txtUsuario" class="formlogin" type
="text" name="usuario" value="" onKeyUp="trataKeyUp()">
</td>
<td> </td>
</tr>
<tr>
<td class="titulo" align="right">Senha:
</td>
<td>
<input class="formlogin" type="password" name
="txtSenha" onKeyUp="trataKeyUp()">
</td>
<td align="right" width="25">
<a onClick="return submitForm();" id
="linkOk" onmouseover="this.style.cursor='hand';"><img id="imgOk" src
="/estatico/SAC_obj/imagens/login/ok.gif" width="21" height="20" border
="0"></a>
<!--<input type="image" src
="/estatico/SAC_obj/imagens/login/ok.gif" width="21" height="20" border
="0">-->
</td>
</tr>
</table>
</td>
<td width="19">
<table width="18" border="0" cellspacing="0"
cellpadding="0" height="100%">
<tr>
<td width="18" height="19"><img src
="/estatico/SAC_obj/imagens/login/corner_topright2.gif" width="18" height
="19"></td>
</tr>
<tr>
<td bgcolor="#336699" align="left"> </td>
</tr>
<tr>
<td width="18" height="19"><img src
="/estatico/SAC_obj/imagens/login/corner_botright2.gif" width="18" height
="19"></td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<br>
</td>
</tr>
<tr>
<td valign="bottom"><img src
="/estatico/SAC_obj/imagens/login/fio_verde.gif" width="100%" height
="2"></td>
</tr>
</table>
</td>
<td align="right" width="34">
<table width="34" border="0" cellspacing="0" cellpadding="0"
height="230">
<tr>
<td width="34" height="34"><img src
="/estatico/SAC_obj/imagens/login/corner_topright.gif" width="34" height
="34"></td>
</tr>
<tr>
<td bgcolor="#000066" align="right"><img src
="/estatico/SAC_obj/imagens/login/fio_verde.gif" width="2" height
="162"></td>
</tr>
<tr>
<td width="34" height="34"><img src
="/estatico/SAC_obj/imagens/login/corner_botright.gif" width="34" height
="34"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
|