Problem of JSP internationalization
Hi,
I am using tomcat3.x as web server and try to display multibyte characters in JSP page.
I tried the following two methods:
1. at the begiinging of the jsp file I added :
<%response.setContentType="charset=xxx"%>
2. added <meta charset="xxx"> into JSP file
The first method can display correct characters in Tradtional Chinese, Simplified Chinese or Korean if I changed the "xxx" to "big5", "gb2312" or korean charset
But it can't display Japanese characters correctly even if I already changed "xxx" to "shift_jis"
However, if I use the method 2, then all the double byte characters can be displayed correctly.
Does somebody see this problem before? Would you please let me know why the first method doen't work for Japanese? Are there any setting wrong in web server ?
Thanks,
Ping
I used the following page directive and it seemed to do the trick. It didn't work in Netscape 4x but I know that's a whole different ball game. I'm using iPlanet as my web/app server...
<%@ page contentType="text/html; charset=Shift_JIS">
- Billy -
Similar Messages
-
Problem in jsp with container(JEUS)
Hi I am a developer in Korea
Nowadays I have a problem in jsp pages which have contained some pakage directive in a library path
so my problem is changing some of the classes in the package during service time.
Error result is
-Root Exception stack trace :
-jeus.servlet.jsp.compiler.JspCompileException: fail to compile : source = C:\TmaxSoft\JEUS6.0\webhome\epims_container1\_generated_\j2ee-modules\harweb\jeus_jspwork\_custermg\_html\_mypage\_600_MyReqJob_5fjsp.java, -error msg = C:\TmaxSoft\JEUS6.0\webhome\epims_container1\_generated_\j2ee-modules\harweb\jeus_jspwork\_custermg\_html\_mypage\_600_MyReqJob_5fjsp.java:76: cannot access custermg.MyPageQuery
bad class file: C:\epims\harweb\WEB-INF\classes\custermg\MyPageQuery.class
-class file has wrong version 8241.8224, should be 49.0
-Please remove or make sure it appears in the correct subdirectory of the classpath.
- MyPageQuery myquery = null;
I don't know why this could be happed in random period of time It happens nearly each 10 hours . after this failure, the same error happen in other classes.
Before ten hours?.... No problem with the jsp pages
The number 8241.8224 tells me that it is not generated by java compiler but I don't have any clue but the above error
my run time environment is
- HP Server, Windows Server 2003, 64bit
- Jeus, jdk1.5.0_15
so any help from you will be appreciated...
thanksMr. Ahmed,
Excuse-me by my bad english.
I experienced the same problem when surrounded my scripts with comment caracters:
<!--
< SCRIPT ...
-->
If this is your case, simply uncomment it and the script will work fine. -
Problem using jsp:include from inside a custom tag
Hi, All !
I have a problem using <jsp:include> from inside a custom tag. Exception is:
"java.lang.ClassCastException: weblogic.servlet.jsp.BodyContentImpl"
Apparently, weblogic tries to cast BodyContentImpl to JspWriterImpl and
could not do this. Is it a bug, since in the 1.1 spec is said: "The
BodyContent is a subclass of JspWriter that can be used to process body
evaluations so they can retrieved later on."
My code is:
<wfmklist:items>
<jsp:include page="item.jsp" flush="true"/>
</wfmklist:items>
This is an area of contention with WL. It is not so tolerant with regards to
the spec. I spent several days recently trying to convince it to accept the
specification in regards to bodies and includes and it appears to have
successfully rebuffed my efforts.
Frankly, this is very disappointing. It appears that some shortcuts were
taken on the way to JSP 1.1 support, and the result is a very hard-coded,
inflexible implementation. As I have not seen the implementation myself, I
hate to assume this, however one could posit that the term "interface" was a
foreign concept during the implementation, other than as some annoying
intermediary reference requiring an immediate cast to a specific Weblogic
class, which in turn is apparently required to be final or have many final
methods, as if being optimized for a JDK 1.02 JIT.
I am sorry that I don't have any positive suggestions other than to use a
URL object to come back in an execute the necessary "include" directly. You
lose all context (other than session) and that can cause its own problems.
However, you can generally get the URL approach to work, and you will
hopefully avoid further frustration.
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com
Tangosol: How Weblogic applications are customized
"Denis" <[email protected]> wrote in message
news:[email protected]...
> Hi, All !
> I have a problem using <jsp:include> from inside a custom tag. Exception
is:
> "java.lang.ClassCastException: weblogic.servlet.jsp.BodyContentImpl"
>
> Apparently, weblogic tries to cast BodyContentImpl to JspWriterImpl and
> could not do this. Is it a bug, since in the 1.1 spec is said: "The
> BodyContent is a subclass of JspWriter that can be used to process body
> evaluations so they can retrieved later on."
>
> My code is:
> ...
> <wfmklist:items>
> <jsp:include page="item.jsp" flush="true"/>
> </wfmklist:items>
> ...
-
Urgent Solution needed--Problem in JSP compilation with JDK 1.5 and JDK 1.6
Hi,
I m using JDK 1.5 and Tomcat 5.0 the problem is that after starting server when I m going to access my application at that time instead of displaying HomePage it directly display the blank page on screen.
After analyzing tomcat log I have found that there was a problem with JSP page compilation.
The exception logged in Tomcat Log is given below
An error occurred at line: 1 in the generated java file
The type Collection is not generic; it cannot be parameterized with arguments <? extends E>
Stacktrace:
* at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)*
* at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)*
* at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)*
* at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)*
* at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)*
* at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)*
* at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)*
* at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)*
* at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)*
* at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)*
* at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)*
* at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)*
* at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)*
* at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)*
* at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:447)*
* at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)*
* at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)*
* at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:424)*
* at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:343)*
* at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)*
* at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)*
* at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)*
* at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)*
* at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)*
* at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)*
* at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)*
* at java.lang.Thread.run(Thread.java:619)*
After getting this kind of error I have analyzed my code furhter then I came to know that there was problem with static include tag.
In my jsp page I have used following line which is the main cause of error
<%@ include file="top.jsp" %>If I ommit this line then it is working properly.
Instead of static include I have used jsp:include also.
Still I m getting same problem.
We have to migrated from JDK 1.5 to 1.6 and Tomcat 5.0.28 to 6.0.14, still same problem is there.
We have tried a lot but didnt get success to overcome this problem.
If anybody having any solution then ur each reply will be appreciated.
Thanks in advance..........!!!!!!!
Edited by: JBOSS2000 on Jan 15, 2008 9:29 AMHi "mshanu" and "amit" Thanks for ur replies Here I m posting the code of "top.jsp"........!!!!
<%@ page errorPage="errordisplay.jsp"%>
<table cellpadding="0"
cellspacing="0" height=50 width=780>
<tbody>
<tr class="header">
<td class="logo"><IMG SRC="assets/Logo.gif" BORDER=0 ALIGN=top></td>
<td align="right"><span class="applicationtitle"><%@ include file="/contents/logo.htm" %></span><br>
<span class="companyname"><%@ include file="/contents/companyname.htm" %></span></td>
</tr>
</tbody>
</table>To include top.jsp I have tried
<jsp:include page="top.jsp" flush="true">
</jsp:include>
AND
<%@ include file="top.jsp"%>but none of this worked.
If I remove the include then It is working properly.
But I need inluded file too so that I am wondoring for the solution.
This problem seems very wiered to me. I dont know why it is happening.
This problem is started only when I used the TOMCAT 6.14.
Is it the bug of TOMCAT 6.14 or What somebody Plz help.
I got stuck here.........!!!!!!!!!!
It doesn't seem any problem with top.jsp. As per my thinking the problem is there in include due to that it doesn't compile the JSP page in Tomcat 6.0.
Earlier I am having same code running on the Tomcat 5.0.28 and JDK 1.5.0.
But problem occured when I have used Tomcat 6.x...!! -
Language problem in JSP please help
Hi all java guru;
Altough I tried all different way I can not solve the my problem.
My problem is Turkish language problem in JSP.
If my jsp page use database applications such as push or pull data to my SQL 2000 database or call some datas from database, some data which contains turkish caracter are seen wrong. suc as ����� is to ??????
what is the problem?
But important point is that; this is only Database data which come from sql database. But I can see JSP data or HTML data truly.
I try different method to solve in JSP page;
1-request.setEncoding("iso-8859-9");
or
request.setCharacterEncoding( "windows-1250" );
2-
@contentType="text/html; charset=iso-8859-9"
@page pageEncoding="iso-8859-9"
3-
<meta http-equiv="Content-Language" content="tr">
<META http-equiv="Content-Style-Type" content="text/css">
4-
ISO-8859-9 is turkish charecter spefications
String TR_tlp = new String(NEW_TALEP.getBytes(),"ISO-8859-9"); // this parm is inserting database but problem is go on.
5-
for the database...
Properties props = new Properties();
props.put("user","login");
props.put("password","password");
props.put("charSet","UNICODE");
6-
url= "jdbc:microsoft:sqlserver://IP_NO:1433;databasename=database;TRUSTED_CONNECTION = true;CHARSET="+sun.io.ByteToCharConverter.getDefault().getCharacterEncoding();
or
url= "jdbc:microsoft:sqlserver://IP_NO:1433;databasename=database;TRUSTED_CONNECTION = true;CHARSET=ISO-8859-9"
con= DriverManager.getConnection(url, kulad, sifre);
I am using tomcat 5.0.19,
is there any way to solve this problem... Please help......Were you ever able to solve your problem?
I have a similar problem.
My database is storing the characters correctly and they can be viewed in Java, but when I try to convert them to unicode using:
String inputUtf8 = new String(input.getBytes(),charset);
it works for almost all characters, but some come through as noncharacter "boxes."
The characters that come through as boxes in iso8859-1 are the ones that are in the "supplementary" character range of that set, such as:
- curved left and right quotes
- "TM" symbol
- bullets
- m dash and n dash
(see this table: http://www.csgnetwork.com/htmlchrset.html for a more complete list of the supplementary characters )
Any idea what I need to do to have these characters show up properly? -
Bizarre thread problem with JSP
I'm having a strange problem using JSPs whereby a single method call to a
bean results in 2 execute threads being created each executing the method
called.
I have a bean reference in the jsp that has session scope declared like this
(package names left off):
<jsp:useBean id="deployment" class="Deployment" scope="session">
<% deployment.init(application); %>
</jsp:useBean>
I've also set the isThreadSafe value to "false" (since I'm trying to
prevent/figure out what's going on):
<%@ page isThreadSafe="false" %>
Within the JSP body I have code that makes the method call on the deployment
bean:
if (action.equals("Send"))
int status = deployment.send();
Then, within my form I have:
<INPUT TYPE="image" SRC="../images/Deploy.gif"
onClick="confirmAndSubmit('Send',
'Deploying Application to server <%=
deployment.getServer() %>')"/>
Where the functions called are:
function setActionSubmit(action) {
document.deployForm.actionPerformed.value = action;
document.deployForm.submit();
function confirmAndSubmit(action, promptString) {
if (confirm(promptString)) {
setActionSubmit(action);
Tracing, thread dumping, et al, have confirmed that although I have a single
session, I end up with two threads each executing the deployment.send()
method.
Any ideas? I'm stumped.
Thanks,
Jim
I found the problem, although I don't completely understand the behavior:
The FORM was not handling the submit event, leaving it to the whim of the
browser to have its way with the event. Although it sometime ended up
having two threads serving the request, it didn't always.
The solution was to put an onSubmit=="return false;" in the <form>
Hope this helps someone else.
Jim
"Jim Gish" <[email protected]> wrote in message
news:[email protected]...
> I'm having a strange problem using JSPs whereby a single method call to a
> bean results in 2 execute threads being created each executing the method
> called.
>
> I have a bean reference in the jsp that has session scope declared like
this
> (package names left off):
>
> <jsp:useBean id="deployment" class="Deployment" scope="session">
> <% deployment.init(application); %>
> </jsp:useBean>
>
> I've also set the isThreadSafe value to "false" (since I'm trying to
> prevent/figure out what's going on):
> <%@ page isThreadSafe="false" %>
>
> Within the JSP body I have code that makes the method call on the
deployment
> bean:
> if (action.equals("Send"))
> {
> int status = deployment.send();
> }
>
> Then, within my form I have:
> <INPUT TYPE="image" SRC="../images/Deploy.gif"
> onClick="confirmAndSubmit('Send',
> 'Deploying Application to server <%=
> deployment.getServer() %>')"/>
>
> Where the functions called are:
> function setActionSubmit(action) {
> document.deployForm.actionPerformed.value = action;
> document.deployForm.submit();
> }
>
> function confirmAndSubmit(action, promptString) {
> if (confirm(promptString)) {
> setActionSubmit(action);
> }
> }
>
> Tracing, thread dumping, et al, have confirmed that although I have a
single
> session, I end up with two threads each executing the deployment.send()
> method.
>
> Any ideas? I'm stumped.
>
> Thanks,
> Jim
>
>
>
>
>
-
Apache/Jserv Config Problem with JSP
Problem: Any JSP that contains a bean reference is not being loaded correctly.
The first thing I did was to create a softlink from the ".../Apache/Apache/htdocs" directory to
the directory which contains my *.html and *.jsp files (as instructed in the httpd.conf file).
Then, I followed the instructions on page A-9 of "OracleJSP Developer's Guide and
Reference, Release 1.1.0.0.0". They instruct you to add a wrapper.classpath entry into
jserv.properties that points at your directory that contains the .class files for your bean
classes. I did this too.
I then attempted to load my JSP file from the browser URL entry line. If my JSP does not contain
a reference to a bean, then the page loads fine. If it contains a reference to a bean, then I
get the following message:
Request URI:/webdocs/vps/hellouser/hellouser.jsp
Exception:
oracle.jsp.parse.JspParseException: Line # 4, Error: Unable to find class for bean: myBean defined
by tag with class: hello.NameHandler
I cannot for the life of me get Apache to look in one directory for the .jsp file and another for
the .class file(s). Any suggestions would be greatly appreciated!
MORE BACKGROUND:
If it matters..... My first venture was servlets and I've managed to workt that just fine: I
successfully modified "jserv.conf" to add a mount point (ApJServMount) for my new servlet zone
which I have specified in "jserv.properties". I have also created an associated properties file
for my new servlet zone. I've tested this configuration and all works fine for servlets, just not
JSP.
Once again, thanks in advance for any help regarding a solution to this problem!!!
DaveProblem: Any JSP that contains a bean reference is not being loaded correctly.
The first thing I did was to create a softlink from the ".../Apache/Apache/htdocs" directory to
the directory which contains my *.html and *.jsp files (as instructed in the httpd.conf file).
Then, I followed the instructions on page A-9 of "OracleJSP Developer's Guide and
Reference, Release 1.1.0.0.0". They instruct you to add a wrapper.classpath entry into
jserv.properties that points at your directory that contains the .class files for your bean
classes. I did this too.
I then attempted to load my JSP file from the browser URL entry line. If my JSP does not contain
a reference to a bean, then the page loads fine. If it contains a reference to a bean, then I
get the following message:
Request URI:/webdocs/vps/hellouser/hellouser.jsp
Exception:
oracle.jsp.parse.JspParseException: Line # 4, Error: Unable to find class for bean: myBean defined
by tag with class: hello.NameHandler
I cannot for the life of me get Apache to look in one directory for the .jsp file and another for
the .class file(s). Any suggestions would be greatly appreciated!
MORE BACKGROUND:
If it matters..... My first venture was servlets and I've managed to workt that just fine: I
successfully modified "jserv.conf" to add a mount point (ApJServMount) for my new servlet zone
which I have specified in "jserv.properties". I have also created an associated properties file
for my new servlet zone. I've tested this configuration and all works fine for servlets, just not
JSP.
Once again, thanks in advance for any help regarding a solution to this problem!!!
Dave -
Unknown problem with JSP, JavaScript - Pls help
Hi Friends,
I am facing a strange problem. Explained it below. Kindly help me as it is really affecting my work. Thanks in advance.
I am working on building a web application using jsp, servlet, ejb. the IDE used is WSAD 5.1.2.
I have the below :
1 JSP - Input page - for user input entry
2. Java script1 - For all client side validations
Java script2 - For handling the data submission to servlet (as selected by user)
Javascript3 - Header & Menu Bar
3 Servlet - This actually retrieves the values from the hidden parameters, sets them in session and redirects the control back to the jsp.
Logic for one small iteration : Two drop downs are there. On selecting the first drop down the second drop down should be populated and the first drop down should display the user selected value.
1. When the user selects the first drop down onchange() event gets fired which calls a method in the javascript.
2. In the javascript I set the value of a hidden form field to the selected combo index and submit the form to the servlet
3. In the servlet, I retrieve the hidden request parameter (Index),
set the index in session. Do my business logic based on the value of the index. Set the collection (to be displayed) in second drop down in session.
4. Send the response back to the JSP.
5. In the JSP, we have a method which is called during the onload() event of the body
6. This method sets the user selected values in appropriate controls(by taking from session)
Problem faced: I have a javascript which creates the menu bar for my application and this i've included it in my jsp. I dont know whats wrong with this javascript, when it is commented out the page works perfectly fine. Both the user selected value and the collection are loaded exactly as expected. But when it is included the collection is loaded in the second drop down but the selected index of the first drop down is not set - the drop down gets reset to the default value.
Also on body load of my jsp, I call a javascript method which sets the current date in one text field of my form. Even this is not working fine when I include this javascript. I don't see any script error in this javascript in my browser though. Strange but guess something basic :(
I'm sure there is nothing to do with session. I've tried printing the entire flow. The Servlet sets the values correctly in session and they are also correctly available in the JSP page. The JSP also gets loaded with the user selected values but something happens on page load which clears the values to default.
Am also confused in what way javascript is related to this, coz when I remove it things are working fine.
Am really helpless here pls do the needful. any help is appreciated.
Header.js [which includes the menu bar code]
document.write("<!-- COMMON HEADER CODE -->")
document.write(" <table id='mplPageHeader' cellspacing='0' cellpadding='2' border='0'>")
document.write(" <tr> ")
document.write(" <td rowspan='2' bgcolor='#FFFFFF' width='1%'>")
document.write(" <a href='http://www.web.com' target='_top'>")
document.write(" <img src='./images/ford.gif' alt='BLogistics' border='0'>")
document.write(" </a> ")
document.write(" </td>")
document.write(" <td rowspan='2' class='appTitle' title='Mp' width='1%'>MP&L</td>")
document.write(" <td class='appTitle' title='M R'>M R</td>")
document.write(" <td class='pageIdentifier'>"+' '+"</td>");
document.write(" </tr>")
document.write(" <tr>")
document.write(" <td class='pageTitle' nowrap></td>");
document.write(" <td class='dateInfo' nowrap>Thu Jan 22 2004 12:24 PM</td>")
document.write(" </tr>")
document.write(" </table>")
document.write("<!-- Display Menu Items -->")
document.write("<div id='navigationMenu'>")
document.write(" <script type='text/javascript' src='./javascript/MRmenuItem.js'></script>")
document.write(" <script type='text/javascript' src='./javascript/menuScript.js'></script>")
document.write("</div>")-------------------------------------------------------
Menu Bar Code
var AgntUsr=navigator.userAgent.toLowerCase();
var AppVer=navigator.appVersion.toLowerCase();
var DomYes=document.getElementById?1:0,NavYes=AgntUsr.indexOf("mozilla")!=-1&&AgntUsr.indexOf("compatible")==-1?1:0,ExpYes=AgntUsr.indexOf("msie")!=-1?1:0,Opr=AgntUsr.indexOf("opera")!=-1?1:0;
var DomNav=DomYes&&NavYes?1:0,DomExp=DomYes&&ExpYes?1:0;
var Nav4=NavYes&&!DomYes&&document.layers?1:0,Exp4=ExpYes&&!DomYes&&document.all?1:0;
var MacCom=(AppVer.indexOf("mac")!= -1)?1:0,MacExp4=(MacCom&&AppVer.indexOf("msie 4")!= -1)?1:0,Mac4=(MacCom&&(Nav4||Exp4))?1:0;
var Exp5=AppVer.indexOf("msie 5")!= -1?1:0,Fltr=(AppVer.indexOf("msie 6")!= -1||AppVer.indexOf("msie 7")!= -1)?1:0,MacExp5=(MacCom&&Exp5)?1:0,PosStrt=(NavYes||ExpYes)&&!Opr?1:0;
var RmbrNow=null,FLoc,ScLoc,DcLoc,SWinW,SWinH,FWinW,FWinH,SLdAgnWin,FColW,SColW,DColW,RLvl=0,FrstCreat=1,Ldd=0,Crtd=0,IniFlg,AcrssFrms=1,FrstCntnr=null,CurOvr=null,CloseTmr=null,CntrTxt,TxtClose,ImgStr,ShwFlg=0,M_StrtTp=StartTop,M_StrtLft=StartLeft,StaticPos=0,LftXtra=DomNav?LeftPaddng:0,TpXtra=DomNav?TopPaddng:0,FStr="",M_Hide=Nav4?"hide":"hidden",M_Show=Nav4?"show":"visible",Par=MenuUsesFrames?parent:window,Doc=Par.document,Bod=Doc.body,Trigger=NavYes?Par:Bod;
var Ztop=100,InitLdd=0,P_X=DomYes?"px":"";
var OpnTmr=null;
if(PosStrt){if(MacExp4||MacExp5)LdTmr=setInterval("ChckInitLd()",100);
else{if(Trigger.onload)Dummy=Trigger.onload;
if(DomNav)Trigger.addEventListener("load",Go,false);
else Trigger.onload=Go}}
function ChckInitLd(){
InitLdd=(MenuUsesFrames)?(Par.document.readyState=="complete"&&Par.frames[FirstLineFrame].document.readyState=="complete"&&Par.frames[SecLineFrame].document.readyState=="complete")?1:0:(Par.document.readyState=="complete")?1:0;
if(InitLdd){clearInterval(LdTmr);Go()}}
function Dummy(){return}
function CnclSlct(){return false}
function RePos(){
FWinW=ExpYes?FLoc.document.body.clientWidth:FLoc.innerWidth;
FWinH=ExpYes?FLoc.document.body.clientHeight:FLoc.innerHeight;
SWinW=ExpYes?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
SWinH=ExpYes?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal){
ClcJus();
var P=FrstCntnr.FrstMbr,W=Menu1[5],a=BorderBtwnMain?NoOffFirstLineMenus+1:2,i;
FrstCntnr.style.width=NoOffFirstLineMenus*W+a*BorderWidthMain+P_X;
for(i=0;i<NoOffFirstLineMenus;i++){
P.style.width=W-(P.value.indexOf("<")==-1?LftXtra:0)+P_X;
if(P.ai&&!RightToLeft)
P.ai.style.left=BottomUp?W-BorderColor-2+P_X:W-Arrws[4]-2+P_X;
P=P.PrvMbr
StaticPos=-1;
ClcRl();
if(TargetLoc)ClcTrgt();ClcLft();ClcTp();
PosMenu(FrstCntnr,StartTop,StartLeft);
if(RememberStatus)StMnu()}
function NavUnLdd(){Ldd=0;Crtd=0;SetMenu="0"}
function UnLdd(){
NavUnLdd();
if(ExpYes){var M=FrstCntnr?FrstCntnr.FrstMbr:null;
while(M!=null){if(M.CCn){MakeNull(M.CCn);M.CCn=null}
M=M.PrvMbr}}
if(!Nav4){LdTmr=setInterval("ChckLdd()",100)}}
function UnLddTotal(){MakeNull(FrstCntnr);FrstCntnr=RmbrNow=FLoc=ScLoc=DcLoc=SLdAgnWin=CurOvr=CloseTmr=Doc=Bod=Trigger=null}
function MakeNull(P){
var M=P.FrstMbr,Mi;
while(M!=null){Mi=M;
if(M.CCn){MakeNull(M.CCn);M.CCn=null}
M.Cntnr=null;M=M.PrvMbr;Mi.PrvMbr=null;Mi=null}
P.FrstMbr=null}
function ChckLdd(){
if(!ExpYes){if(ScLoc.document.body){clearInterval(LdTmr);Go()}}
else if(ScLoc.document.readyState=="complete"){if(LdTmr)clearInterval(LdTmr);Go()}}
function NavLdd(e){if(e.target!=self)routeEvent(e);if(e.target==ScLoc)Go()}
function ReDoWhole(){if(AppVer.indexOf("4.0")==-1)Doc.location.reload();else if(SWinW!=ScLoc.innerWidth||SWinH!=ScLoc.innerHeight||FWinW!=FLoc.innerWidth||FWinH!=FLoc.innerHeight)Doc.location.reload()}
function Go(){
if(!Ldd&&PosStrt){
BeforeStart();
Crtd=0;Ldd=1;
FLoc=MenuUsesFrames?parent.frames[FirstLineFrame]:window;
ScLoc=MenuUsesFrames?parent.frames[SecLineFrame]:window;
DcLoc=MenuUsesFrames?parent.frames[DocTargetFrame]:window;
if(MenuUsesFrames){
if(!FLoc){FLoc=ScLoc;if(!FLoc){FLoc=ScLoc=DcLoc;if(!FLoc)FLoc=ScLoc=DcLoc=window}}
if(!ScLoc){ScLoc=DcLoc;if(!ScLoc)ScLoc=DcLoc=FLoc}
if(!DcLoc)DcLoc=ScLoc}
if(FLoc==ScLoc)AcrssFrms=0;
if(AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:1;
FWinW=ExpYes?FLoc.document.body.clientWidth:FLoc.innerWidth;
FWinH=ExpYes?FLoc.document.body.clientHeight:FLoc.innerHeight;
SWinW=ExpYes?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
SWinH=ExpYes?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
FColW=Nav4?FLoc.document:FLoc.document.body;
SColW=Nav4?ScLoc.document:ScLoc.document.body;
DColW=Nav4?DcLoc.document:ScLoc.document.body;
if(TakeOverBgColor){
if(ExpYes&&MacCom)FColW.style.backgroundColor=AcrssFrms?SColW.bgColor:DColW.bgColor;
else FColW.bgColor=AcrssFrms?SColW.bgColor:DColW.bgColor}
if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal)ClcJus();
if(FrstCreat||FLoc==ScLoc)FrstCntnr=CreateMenuStructure("Menu",NoOffFirstLineMenus,null);
else CreateMenuStructureAgain("Menu",NoOffFirstLineMenus);
ClcRl();
if(TargetLoc)ClcTrgt();ClcLft();ClcTp();
PosMenu(FrstCntnr,StartTop,StartLeft);
IniFlg=1;Initiate();Crtd=1;
SLdAgnWin=ExpYes?ScLoc.document.body:ScLoc;SLdAgnWin.onunload=Nav4?NavUnLdd:UnLdd;
if(ExpYes)Trigger.onunload=UnLddTotal;
Trigger.onresize=Nav4?ReDoWhole:RePos;
AfterBuild();
if(RememberStatus)StMnu();
if(Nav4&&FrstCreat){Trigger.captureEvents(Event.LOAD);Trigger.onload=NavLdd}
if(FrstCreat)Dummy();FrstCreat=0;
if(MenuVerticalCentered=="static"&&!AcrssFrms)setInterval("KeepPos()",250) }}
function KeepPos(){
var TS=ExpYes?FLoc.document.body.scrollTop:FLoc.pageYOffset;
if(TS!=StaticPos){var FCSt=Nav4?FrstCntnr:FrstCntnr.style;
FrstCntnr.OrgTop=StartTop+TS;FCSt.top=FrstCntnr.OrgTop+P_X;StaticPos=TS}}
function ClcRl(){
StartTop=M_StrtTp<1&&M_StrtTp>0?M_StrtTp*FWinH:M_StrtTp;
StartLeft=M_StrtLft<1&&M_StrtLft>0?M_StrtLft*FWinW:M_StrtLft}
function ClcJus(){
var a=BorderBtwnMain?NoOffFirstLineMenus+1:2,Sz=Math.round((PartOfWindow*FWinW-a*BorderWidthMain)/NoOffFirstLineMenus),i,j;
for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval("Menu"+i);j[5]=Sz}
StartLeft=0}
function ClcTrgt(){
var TLoc=Nav4?FLoc.document.layers[TargetLoc]:DomYes?FLoc.document.getElementById(TargetLoc):FLoc.document.all[TargetLoc];
if(DomYes){while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft;TLoc=TLoc.offsetParent}}
else{StartTop+=Nav4?TLoc.pageY:TLoc.offsetTop;StartLeft+=Nav4?TLoc.pageX:TLoc.offsetLeft}}
function ClcLft(){
if(MenuCentered.indexOf("left")==-1){
var Sz=FWinW-(!Nav4?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
StartLeft+=MenuCentered.indexOf("right")!=-1?Sz:Sz/2;
if(StartLeft<0)StartLeft=0}}
function ClcTp(){
if(MenuVerticalCentered!="top"&&MenuVerticalCentered!="static"){
var Sz=FWinH-(!Nav4?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
StartTop+=MenuVerticalCentered=="bottom"?Sz:Sz/2;
if(StartTop<0)StartTop=0}}
function PosMenu(Ct,Tp,Lt){
RLvl++;
var Ti,Li,Hi,Mb=Ct.FrstMbr,CStl=!Nav4?Ct.style:Ct,MStl=!Nav4?Mb.style:Mb,PadL=Mb.value.indexOf("<")==-1?LftXtra:0,PadT=Mb.value.indexOf("<")==-1?TpXtra:0,MWt=!Nav4?parseInt(MStl.width)+PadL:MStl.clip.width,MHt=!Nav4?parseInt(MStl.height)+PadT:MStl.clip.height,CWt=!Nav4?parseInt(CStl.width):CStl.clip.width,CHt=!Nav4?parseInt(CStl.height):CStl.clip.height,CCw,CCh,STp,SLt;
var BRW=RLvl==1?BorderWidthMain:BorderWidthSub,BTWn=RLvl==1?BorderBtwnMain:BorderBtwnSub;
if(RLvl==1&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?0:FWinH-CHt+(Nav4?MacCom?-2:4:0):Lt=RightToLeft?0:FWinW-CWt+(Nav4?MacCom?-2:4:0);
if(RLvl==2&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?SWinH-CHt+(Nav4?MacCom?-2:4:0):0:Lt=RightToLeft?SWinW-CWt:0;
if(RLvl==2){Tp+=VerCorrect;Lt+=HorCorrect}
CStl.top=RLvl==1?Tp+P_X:0;Ct.OrgTop=Tp;
CStl.left=RLvl==1?Lt+P_X:0;Ct.OrgLeft=Lt;
if(RLvl==1&&FirstLineHorizontal){Hi=1;Li=CWt-MWt-2*BRW;Ti=0}
else{Hi=Li=0;Ti=CHt-MHt-2*BRW}
while(Mb!=null){
MStl.left=Li+BRW+P_X;
MStl.top=Ti+BRW+P_X;
if(Nav4)Mb.CLyr.moveTo(Li+BRW,Ti+BRW);
if(Mb.CCn){if(RightToLeft)CCw=Nav4?Mb.CCn.clip.width:parseInt(Mb.CCn.style.width);
if(BottomUp)CCh=Nav4?Mb.CCn.clip.height:parseInt(Mb.CCn.style.height);
if(Hi){STp=BottomUp?Ti-CCh:Ti+MHt+2*BRW;SLt=RightToLeft?Li+MWt-CCw:Li}
else{SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BRW:Li+(1-ChildOverlap)*MWt;
STp=RLvl==1&&AcrssFrms?BottomUp?Ti-CCh+MHt:Ti:BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BRW:Ti+ChildVerticalOverlap*MHt+BRW}
PosMenu(Mb.CCn,STp,SLt)}
Mb=Mb.PrvMbr;
if(Mb){ MStl=!Nav4?Mb.style:Mb;PadL=Mb.value.indexOf("<")==-1?LftXtra:0;
PadT=Mb.value.indexOf("<")==-1?TpXtra:0;
MWt=!Nav4?parseInt(MStl.width)+PadL:MStl.clip.width;
MHt=!Nav4?parseInt(MStl.height)+PadT:MStl.clip.height;
Hi?Li-=BTWn?(MWt+BRW):(MWt):Ti-=BTWn?(MHt+BRW):MHt}}
status="Ready";RLvl--}
function StMnu(){
if(!Crtd)return;
var i,Pntr=FrstCntnr,Str=ScLoc.SetMenu?ScLoc.SetMenu:"0";
while(Str.indexOf("_")!=-1&&RememberStatus==1){
i=Pntr.NrItms-parseInt(Str.substring(0,Str.indexOf("_")));
Str=Str.slice(Str.indexOf("_")+1);
Pntr=Pntr.FrstMbr;
for(i;i;i--)Pntr=Pntr.PrvMbr;
if(Nav4)Pntr.CLyr.OM();
else Pntr.OM();
Pntr=Pntr.CCn}
i=Pntr.NrItms-parseInt(Str);
Pntr=Pntr.FrstMbr;
for(i;i;i--)Pntr=Pntr.PrvMbr;
if(RmbrNow!=null){SetItem(RmbrNow,0);RmbrNow.Clckd=0}
if(Pntr!=null){SetItem(Pntr,1);Pntr.Clckd=1;
if(RememberStatus==1){if(Nav4)Pntr.CLyr.OM();else Pntr.OM()}}
RmbrNow=Pntr;
ClrAllChlds(FrstCntnr.FrstMbr);
Rmbr(FrstCntnr)}
function Initiate(){
if(IniFlg&&Ldd){Init(FrstCntnr);IniFlg=0;if(RememberStatus)Rmbr(FrstCntnr);if(ShwFlg)AfterCloseAll();ShwFlg=0}}
function Rmbr(CntPtr){
var Mbr=CntPtr.FrstMbr,St;
while(Mbr!=null){
if(Mbr.DoRmbr){
HiliteItem(Mbr);
if(Mbr.CCn&&RememberStatus==1){St=Nav4?Mbr.CCn:Mbr.CCn.style;St.visibility=M_Show;Rmbr(Mbr.CCn)}
break}
else Mbr=Mbr.PrvMbr}}
function Init(CPt){
var Mb=CPt.FrstMbr,MCSt=Nav4?CPt:CPt.style;
RLvl++;MCSt.visibility=RLvl==1?M_Show:M_Hide;CPt.Shw=RLvl==1?1:0;
while(Mb!=null){if(Mb.Hilite)LowItem(Mb);if(Mb.CCn)Init(Mb.CCn);Mb=Mb.PrvMbr}
RLvl--}
function ClrAllChlds(Pt){
var PSt,Pc;
while(Pt){if(Pt.Hilite){Pc=Nav4?Pt.CLyr:Pt;if(Pc!=CurOvr){LowItem(Pt)}
if(Pt.CCn){PSt=Nav4?Pt.CCn:Pt.CCn.style;if(Pc!=CurOvr){PSt.visibility=M_Hide;Pt.CCn.Shw=0}ClrAllChlds(Pt.CCn.FrstMbr)}
break}
Pt=Pt.PrvMbr}}
function SetItem(Pntr,x){while(Pntr!=null){Pntr.DoRmbr=x;Pntr=Nav4?Pntr.CLyr.Ctnr.Cllr:Pntr.Ctnr.Cllr}}
function GoTo(){
var HP=Nav4?this.LLyr:this;
if(HP.Arr[1]){status="";LowItem(HP);IniFlg=1;Initiate();
HP.Arr[1].indexOf("javascript:")!=-1?eval(HP.Arr[1]):DcLoc.location.href=BaseHref+HP.Arr[1]}}
function HiliteItem(P){
if(Nav4){ if(P.ro)P.document.images[P.rid].src=P.ri2;
else{
P.bgColor = HighBgColor;
if(P.value.indexOf("<img")==-1){P.document.write(P.Ovalue);P.document.close()}}}
else{
if(P.ro){var Lc=P.Lvl==1?FLoc:ScLoc;Lc.document.images[P.rid].src=P.ri2}
else{
P.style.backgroundColor=HighBgColor;
P.style.color=FontHighColor;
P.Hilite=1
function LowItem(P){
P.Hilite=0;
if(P.ro){if(Nav4)P.document.images[P.rid].src=P.ri1;
else{var Lc=P.Lvl==1?FLoc:ScLoc;Lc.document.images[P.rid].src=P.ri1}}
else{
if(Nav4){
P.bgColor=LowBgColor;
if(P.value.indexOf("<img")==-1){P.document.write(P.value);P.document.close()}}
else{
P.style.backgroundColor=LowBgColor;
P.style.color=FontLowColor;
function OpenMenu(){
if(!Ldd||!Crtd)return;
if(OpnTmr)clearTimeout(OpnTmr);
var P=Nav4?this.LLyr:this;
if(P.NofChlds&&!P.CCn){
RLvl=this.Lvl;
P.CCn=CreateMenuStructure(P.MN+"_",P.NofChlds,P);
var Ti,Li,Hi;
var MStl=!Nav4?P.style:P;
var PadL=P.value.indexOf("<")==-1?LftXtra:0;
var PadT=P.value.indexOf("<")==-1?TpXtra:0;
var MWt=!Nav4?parseInt(MStl.width)+PadL:MStl.clip.width;
var MHt=!Nav4?parseInt(MStl.height)+PadT:MStl.clip.height;
var CCw,CCh,STp,SLt;
var BRW=RLvl==1?BorderWidthMain:BorderWidthSub;
if(RightToLeft)CCw=Nav4?P.CCn.clip.width:parseInt(P.CCn.style.width);
if(BottomUp)CCh=Nav4?P.CCn.clip.height:parseInt(P.CCn.style.height);
if(RLvl==1&&FirstLineHorizontal){Hi=1;Li=(Nav4?P.left:parseInt(P.style.left))-BRW;Ti=0}
else{Hi=Li=0;Ti=(Nav4?P.top:parseInt(P.style.top))-BRW}
if(Hi){STp=BottomUp?Ti-CCh:Ti+MHt+2*BRW;SLt=RightToLeft?Li+MWt-CCw:Li}
else{SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BRW:Li+(1-ChildOverlap)*MWt;
STp=RLvl==1&&AcrssFrms?BottomUp?Ti-CCh+MHt:Ti:BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BRW:Ti+ChildVerticalOverlap*MHt+BRW}
PosMenu(P.CCn,STp,SLt);
RLvl=0}
var CCnt=Nav4?this.LLyr.CCn:this.CCn,HP=Nav4?this.LLyr:this;
CurOvr=this;IniFlg=0;ClrAllChlds(this.Ctnr.FrstMbr);
if(!HP.Hilite)HiliteItem(HP);
if(CCnt!=null&&!CCnt.Shw)RememberStatus?Unfld():OpnTmr=setTimeout("Unfld()",UnfoldDelay);
//alert(HP.value);
status=HP.value;
function Unfld(){
var P=CurOvr;
var TS=ExpYes?ScLoc.document.body.scrollTop:ScLoc.pageYOffset,LS=ExpYes?ScLoc.document.body.scrollLeft:ScLoc.pageXOffset,CCnt=Nav4?P.LLyr.CCn:P.CCn,THt=Nav4?P.clip.height:parseInt(P.style.height),TWt=Nav4?P.clip.width:parseInt(P.style.width),TLt=AcrssFrms&&P.Lvl==1&&!FirstLineHorizontal?0:Nav4?P.Ctnr.left:parseInt(P.Ctnr.style.left),TTp=AcrssFrms&&P.Lvl==1&&FirstLineHorizontal?0:Nav4?P.Ctnr.top:parseInt(P.Ctnr.style.top);
// TS != 0 is only needed if the menu DIVs are positioned relative to the body.
// We've made them positioned relative to div#navigationMenu which causes
// a problem if TS is based on how the body is scrolled. So set TS to zero.
// Note: the code below will adjust the final top offset based on the height of
// the menu bar so the dropdown appears below (and not on top of) the nav bar.
TS = 0;
var CCW=Nav4?P.LLyr.CCn.clip.width:parseInt(P.CCn.style.width),CCH=Nav4?P.LLyr.CCn.clip.height:parseInt(P.CCn.style.height),CCSt=Nav4?P.LLyr.CCn:P.CCn.style,SLt=AcrssFrms&&P.Lvl==1?CCnt.OrgLeft+TLt+LS:CCnt.OrgLeft+TLt,STp=AcrssFrms&&P.Lvl==1?CCnt.OrgTop+TTp+TS:CCnt.OrgTop+TTp;
if(!ShwFlg){ShwFlg=1;BeforeFirstOpen()}
if(MenuWrap){
if(RightToLeft){if(SLt<LS)SLt=P.Lvl==1?LS:SLt+(CCW+(1-2*ChildOverlap)*TWt);if(SLt+CCW>SWinW+LS)SLt=SWinW+LS-CCW}
else{if(SLt+CCW>SWinW+LS)SLt=P.Lvl==1?SWinW+LS-CCW:SLt-(CCW+(1-2*ChildOverlap)*TWt);if(SLt<LS)SLt=LS}
if(BottomUp){if(STp<TS)STp=P.Lvl==1?TS:STp+(CCH-(1-2*ChildVerticalOverlap)*THt);if(STp+CCH>SWinH+TS)STp=SWinH+TS-CCH+(Nav4?4:0)}
else{if(STp+CCH>TS+SWinH)STp=P.Lvl==1?STp=TS+SWinH-CCH:STp-CCH+(1-2*ChildVerticalOverlap)*THt;if(STp<TS)STp=TS}}
CCSt.top=STp+P_X;CCSt.left=SLt+P_X;
if(Fltr&&MenuSlide){P.CCn.filters[0].Apply();P.CCn.filters[0].play()}
CCSt.visibility=M_Show}
function OpenMenuClick(){
if(!Ldd||!Crtd)return;
var HP=Nav4?this.LLyr:this;CurOvr=this;
IniFlg=0;ClrAllChlds(this.Ctnr.FrstMbr);HiliteItem(HP);
function CloseMenu(){
if(!Ldd||!Crtd)return;
status="";
if(this==CurOvr){if(OpnTmr)clearTimeout(OpnTmr);if(CloseTmr)clearTimeout(CloseTmr);IniFlg=1;CloseTmr=setTimeout("Initiate(CurOvr)",DissapearDelay)}}
function CntnrSetUp(W,H,NoOff,WMu,Mc){
var x=BorderColor;
this.FrstMbr=null;this.NrItms=NoOff;this.Cllr=Mc;this.Shw=0;
this.OrgLeft=this.OrgTop=0;
if(Nav4){if(x)this.bgColor=x;this.visibility="hide";this.resizeTo(W,H)}
else{if(x)this.style.backgroundColor=x;this.style.width=W+P_X;this.style.height=H+P_X;
if(!NavYes)this.style.zIndex=RLvl+Ztop;
if(Fltr){FStr="";if(MenuSlide&&RLvl!=1)FStr=MenuSlide;if(MenuShadow)FStr+=MenuShadow;
if(MenuOpacity)FStr+=MenuOpacity;if(FStr!="")this.style.filter=FStr}}}
function MbrSetUp(MbC,PrMmbr,WMu,Wd,Ht,Nofs){
var Lctn=RLvl==1?FLoc:ScLoc,Tfld=this.Arr[0],t,T,L,W,H,S,a;
this.PrvMbr=PrMmbr;this.Lvl=RLvl;this.Ctnr=MbC;this.CCn=null;this.ai=null;this.Hilite=0;this.DoRmbr=0;
this.Clckd=0;this.OM=OpenMenu;this.style.overflow="hidden";
this.MN=WMu;this.NofChlds=Nofs;
this.style.cursor=(this.Arr[1]||(RLvl==1&&UnfoldsOnClick))?ExpYes?"hand":"pointer":"default";this.ro=0;
if(Tfld.indexOf("rollover")!=-1){this.ro=1;this.ri1=Tfld.substring(Tfld.indexOf("?")+1,Tfld.lastIndexOf("?"));
this.ri2=Tfld.substring(Tfld.lastIndexOf("?")+1,Tfld.length);this.rid=WMu+"i";
Tfld="<img src=\""+this.ri1+"\" name=\""+this.rid+"\" width=\""+Wd+"\" height=\""+Ht+"\">"}
this.value=Tfld;
this.style.color=FontLowColor;
this.style.fontFamily=FontFamily;
this.style.fontSize = FontSize + "pt";
this.style.fontWeight="normal";
this.style.fontStyle="normal";
this.style.backgroundColor=LowBgColor;
if (WMu.length > 6)
{ MenuTextCentered = 'left';}
else
{MenuTextCentered = 'center';}
this.style.textAlign=MenuTextCentered;
if(this.Arr[2])this.style.backgroundImage="url(\""+this.Arr[2]+"\")";
if(Tfld.indexOf("<")==-1){this.style.width=Wd-LftXtra+P_X;this.style.height=Ht-TpXtra+P_X;this.style.paddingLeft=LeftPaddng+P_X;this.style.paddingTop=TopPaddng+P_X}
else{this.style.width=Wd+P_X;this.style.height=Ht+P_X}
if(Tfld.indexOf("<")==-1&&DomYes){t=Lctn.document.createTextNode(Tfld);this.appendChild(t)}
else this.innerHTML=Tfld;
if(this.Arr[3]){a=RLvl==1&&FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
if(Arrws[a]!=""){S=Arrws[a];W=Arrws[a+1];H=Arrws[a+2];T=RLvl==1&&FirstLineHorizontal?BottomUp?2:Ht-H-2:(Ht-H)/2;L=RightToLeft?2:Wd-W-2;
if(DomYes){t=Lctn.document.createElement("img");this.appendChild(t);
t.style.position="absolute";t.src=S;t.style.width=W+P_X;t.style.height=H+P_X;t.style.top=T+P_X;t.style.left=L+P_X}
else{Tfld+="<div id=\""+WMu+"_im\" style=\"position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit\"><img src=\""+S+"\"></div>";
this.innerHTML=Tfld;t=Lctn.document.all[WMu+"_im"]}
this.ai=t}}
if(ExpYes){this.onselectstart=CnclSlct;this.onmouseover=RLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
this.onmouseout=CloseMenu;this.onclick=RLvl==1&&UnfoldsOnClick&&this.Arr[3]?OpenMenu:GoTo}
else{RLvl==1&&UnfoldsOnClick?this.addEventListener("mouseover",OpenMenuClick,false):this.addEventListener("mouseover",OpenMenu,false);
this.addEventListener("mouseout",CloseMenu,false);
RLvl==1&&UnfoldsOnClick&&this.Arr[3]?this.addEventListener("click",OpenMenu,false):this.addEventListener("click",GoTo,false)}}
function NavMbrSetUp(MbC,PrMmbr,WMu,Wd,Ht,Nofs){
var a;
this.value=this.Arr[0];this.ro=0;
if(this.value.indexOf("rollover")!=-1){
this.ro=1;this.ri1=this.value.substring(this.value.indexOf("?")+1,this.value.lastIndexOf("?"));
this.ri2=this.value.substring(this.value.lastIndexOf("?")+1,this.value.length);this.rid=WMu+"i";
this.value="<img src=\""+this.ri1+"\" name=\""+this.rid+"\">"}
CntrTxt="<div align=\""+MenuTextCentered+"\">";
TxtClose="</font>"+ "</div>";
if(LeftPaddng&&this.value.indexOf("<")==-1&&MenuTextCentered=="left")this.value="�\;"+this.value;
this.Ovalue=this.value;
this.value=this.value.fontcolor(FontLowColor);
this.Ovalue=this.Ovalue.fontcolor(FontHighColor);
this.value=CntrTxt+"<font face=\""+FontFamily+"\" point-size=\""+FontSize+"\">"+this.value+TxtClose;
this.Ovalue=CntrTxt+"<font face=\""+FontFamily+"\" point-size=\""+FontSize+"\">"+this.Ovalue+TxtClose;
this.CCn=null;this.PrvMbr=PrMmbr;this.Hilite=0;this.DoRmbr=0;this.Clckd=0;this.visibility="inherit";
this.MN=WMu;this.NofChlds=Nofs;
this.bgColor=LowBgColor;
this.resizeTo(Wd,Ht);
if(!AcrssFrms&&this.Arr[2])this.background.src=this.Arr[2];
this.document.write(this.value);this.document.close();
this.CLyr=new Layer(Wd,MbC);
this.CLyr.Lvl=RLvl;this.CLyr.visibility="inherit";
this.CLyr.onmouseover=RLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;this.CLyr.onmouseout=CloseMenu;
this.CLyr.captureEvents(Event.MOUSEUP);this.CLyr.onmouseup=RLvl==1&&UnfoldsOnClick&&this.Arr[3]?OpenMenu:GoTo;
this.CLyr.OM=OpenMenu;
this.CLyr.LLyr=this;this.CLyr.resizeTo(Wd,Ht);this.CLyr.Ctnr=MbC;
if(this.Arr[3]){a=RLvl==1&&FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
if(Arrws[a]!=""){this.CLyr.ILyr=new Layer(Arrws[a+1],this.CLyr);this.CLyr.ILyr.visibility="inherit";
this.CLyr.ILyr.top=RLvl==1&&FirstLineHorizontal?BottomUp?2:Ht-Arrws[a+2]-2:(Ht-Arrws[a+2])/2;
this.CLyr.ILyr.left=RightToLeft?2:Wd-Arrws[a+1]-2;this.CLyr.ILyr.width=Arrws[a+1];this.CLyr.ILyr.height=Arrws[a+2];
ImgStr="<img src=\""+Arrws[a]+"\" width=\""+Arrws[a+1]+"\" height=\""+Arrws[a+2]+"\">";
this.CLyr.ILyr.document.write(ImgStr);this.CLyr.ILyr.document.close()}}}
function CreateMenuStructure(MNm,No,Mcllr){
status="Building menu";RLvl++;
var i,NOs,Mbr,W=0,H=0,PMb=null,WMnu=MNm+"1",MWd=eval(WMnu+"[5]"),MHt=eval(WMnu+"[4]"),Lctn=RLvl==1?FLoc:ScLoc;
var BRW=RLvl==1?BorderWidthMain:BorderWidthSub,BTWn=RLvl==1?BorderBtwnMain:BorderBtwnSub;
if(RLvl==1&&FirstLineHorizontal){
for(i=1;i<No+1;i++){WMnu=MNm+eval(i);W=eval(WMnu+"[5]")?W+eval(WMnu+"[5]"):W+MWd}
W=BTWn?W+(No+1)*BRW:W+2*BRW;H=MHt+2*BRW}
else{for(i=1;i<No+1;i++){WMnu=MNm+eval(i);H=eval(WMnu+"[4]")?H+eval(WMnu+"[4]"):H+MHt}
H=BTWn?H+(No+1)*BRW:H+2*BRW;W=MWd+2*BRW}
if(DomYes){var MbC=Lctn.document.createElement("div");MbC.style.position="absolute";MbC.style.visibility="hidden";Lctn.document.getElementById("navigationMenu").appendChild(MbC)}
else{if(Nav4)var MbC=new Layer(W,Lctn);
else{WMnu+="c";Lctn.document.body.insertAdjacentHTML("AfterBegin","<div id=\""+WMnu+"\" style=\"visibility:hidden; position:absolute;\"><\/div>");
var MbC=Lctn.document.all[WMnu]}}
MbC.SetUp=CntnrSetUp;MbC.SetUp(W,H,No,MNm+"1",Mcllr);
if(Exp4){MbC.InnerString="";
for(i=1;i<No+1;i++){WMnu=MNm+eval(i);MbC.InnerString+="<div id=\""+WMnu+"\" style=\"position:absolute;\"><\/div>"}
MbC.innerHTML=MbC.InnerString}
for(i=1;i<No+1;i++){WMnu=MNm+eval(i);NOs=eval(WMnu+"[3]");
W=RLvl==1&&FirstLineHorizontal?eval(WMnu+"[5]")?eval(WMnu+"[5]"):MWd:MWd;
H=RLvl==1&&FirstLineHorizontal?MHt:eval(WMnu+"[4]")?eval(WMnu+"[4]"):MHt;
if(DomYes){Mbr=Lctn.document.createElement("div"); Mbr.style.position="absolute";Mbr.style.visibility="inherit";MbC.appendChild(Mbr)}
else Mbr=Nav4?new Layer(W,MbC):Lctn.document.all[WMnu];
Mbr.Arr=eval(WMnu);
Mbr.SetUp=Nav4?NavMbrSetUp:MbrSetUp;Mbr.SetUp(MbC,PMb,WMnu,W,H,NOs);
if(NOs&&!BuildOnDemand){Mbr.CCn=CreateMenuStructure(WMnu+"_",NOs,Mbr)}
PMb=Mbr}
MbC.FrstMbr=Mbr;
RLvl--;
return(MbC)}
function CreateMenuStructureAgain(MNm,No){
if(!BuildOnDemand){
var i,WMnu,NOs,PMb,Mbr=FrstCntnr.FrstMbr;RLvl++;
for(i=No;i>0;i--){WMnu=MNm+eval(i);NOs=eval(WMnu+"[3]");PMb=Mbr;if(NOs)Mbr.CCn=CreateMenuStructure(WMnu+"_",NOs,Mbr);Mbr=Mbr.PrvMbr}
RLvl--}
else{ var Mbr=FrstCntnr.FrstMbr;
while(Mbr){Mbr.CCn=null;Mbr=Mbr.PrvMbr}}}Hi thanks...As you said I am performing only on onload event..only thing i am confused is if i remove the javacript MRHeader.js everything works fine...am totally confused...pls help
Here is my JSP code for my input page
<%@page import="java.util.*" %>
<%@page import="com.ford.mr.*" %>
<HTML>
<HEAD>
<link href="./css/mplstyle.css" rel="STYLESHEET" type="text/css">
<title>Input Frame</title>
<link type="text/css" rel="STYLESHEET" href="./css/classic.css">
<STYLE>
.vis1 { visibility:visible }
.vis2 { visibility:hidden }
</STYLE>
<%--
MRIFValidation.js contains the java script for the following requirement:
1. Setting the current date in date to compare
2. All input frame client validations.
E.g Plant id should not be empty.
--%>
<script type="text/javascript" src="./javascript/MRIFValidation.js"> </script>
<%--
MRR2HandleDropdown.js is the javascript for the input frame server side actions
It has many functions related to drop down populating and rendering the data
to user from server.
--%>
<script language="javascript" src="./javascript/MRR2HandleDropdown.js"> </script>
<%--
MRheader.js is the javascript which displays the header for our application
plus it has an internal call to MRMenuItem.js and menuscript.js which
builds the menu bar for our application
Issue is here - On commenting the below the previously entered user
inputs are displayed correctly. Else they are not displayed.
--%>
<script language="javascript" src="./javascript/MRheader.js"> </script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
a:visited {
color: #0000FF;
.style1 {font-weight: bold}
.style2 {color: #FF0000}
body {
background-color: #FFFFFF;
-->
</style>
<%--
Declaring all the JSP variables used in the page
These variables are used for holding the session parameters
and are used while setting the selected values in the screen.
--%>
<%!
// HTTPSession object
HttpSession sess;
// To hold session Variables //
// Selected plant index
String plantIndex;
// Selected supplier index
String supplierIndex;
// Selected part index
String partIndex;
// List of plant codes
Vector plantCodes = new Vector();
// List of supplier codes
Vector supplierCodes = new Vector();
// List of part codes
Vector partCodes = new Vector();
// To hold the part description for the selected part
String partDescription;
// List of release numbers matching the selected plant, supplier & part
Vector releaseNumbers = new Vector();
// Type of release - Weekly / Daily
String releaseType;
// Selected release1 index
String release1Index;
// Selected release2 index
String release2Index;
// Holds the issue date 1 corresponding to release 1 selected
String issueDate1;
// Holds the issue date 2 corresponding to release 2 selected
String issueDate2;
// List of matching release numbers to the entered issue date1 (Might be one or two
// in case if amended release exist)
Vector matchingRelease1Number = new Vector();
// List of matching release numbers to the entered issue date2 (Might be one or two
// in case if amended release exist)
Vector matchingRelease2Number = new Vector();
// Size of matchingRelease1Number collection
int matchingRelease1Size = 0;
// Size of matchingRelease2Number collection
int matchingRelease2Size = 0;
// Boolean flags to hold if amended release exists in the release numbers
// matching the issue dates entered by user.
boolean amendedRelease1Exist;
boolean amendedRelease2Exist;
String pageName = "";
%>
<%--
The below code does the following:
1. Fetches the various values available in session
2. Stores the same in various JSP variables for access within the page
--%>
<%
System.out.println("In input frame page");
sess = request.getSession(true);
if(sess != null) {
System.out.println("Session id in input frame: "+ sess.getId());
plantIndex = (String) sess.getAttribute("selectedPlantIndex");
supplierIndex = (String) sess.getAttribute("selectedSupplierIndex");
partIndex = (String) sess.getAttribute("selectedPartIndex");
//plantCodes = (Vector) sess.getAttribute("plantCodes");
supplierCodes = (Vector) sess.getAttribute("supplierCodes");
partCodes = (Vector) sess.getAttribute("partCodes");
partDescription = (String) sess.getAttribute("partDescription");
releaseNumbers = (Vector) sess.getAttribute("releaseNumbers");
releaseType = (String) sess.getAttribute("releaseType");
release1Index = (String) sess.getAttribute("selectedRelease1Index");
release2Index =(String) sess.getAttribute("selectedRelease2Index");
issueDate1 = (String) sess.getAttribute("issueDate1");
issueDate2 = (String) sess.getAttribute("issueDate2");
matchingRelease1Number = (Vector) sess.getAttribute("correspondingRelease1Number");
matchingRelease2Number = (Vector) sess.getAttribute("correspondingRelease2Number");
System.out.println("Displaying values in session *******************");
Enumeration enum = sess.getAttributeNames();
while(enum.hasMoreElements()) {
String elementName = (String) enum.nextElement();
System.out.println("element:"+ elementName+": Value: "+ sess.getAttribute(elementName));
System.out.println("Plant Index JSP variable:"+ plantIndex);
%>
<%--
This code is used for getting the plant codes from
the DB. Currently it is hardcoded.
--%>
<%
MRR2GetPlantCodes obj = new MRR2GetPlantCodes();
plantCodes = obj.getPlantCodes();
%>
<%--
The below two blocks are used to iterate through matchingRelease1Number & matchingRelease2Number
and checks if it has amended release. If yes, sets a boolean flag.
matchingRelease1Number & matchingRelease2Number are two collections which
contains the release number(s) matching the inputted issue date
--%>
<%
// Code to set boolean flag amendedRelease1Exist
if(matchingRelease1Number != null) {
Iterator relIter = matchingRelease1Number.iterator();
while(relIter.hasNext()) {
if( ((String)relIter.next()).endsWith("A") ) {
amendedRelease1Exist = true;
// Code to set boolean flag amendedRelease2Exist
if(matchingRelease2Number != null) {
Iterator relIter = matchingRelease2Number.iterator();
while(relIter.hasNext()) {
if( ((String)relIter.next()).endsWith("A") ) {
amendedRelease2Exist = true;
%>
<%--
The below script has one method fillDropDown which is used for setting the
values of the various I/P controls to user selected values:
It sets the below selected values:
1. Plant Index, Supplier Index, Part Index, Part description
2. Release Type (Daily / weekly)
3. Release 1 Index, Release 2 Index
4. Issue date1 & Issue date2
--%>
<script language="javascript">
function fillDropDown(field) {
with(field) {
var partD = "<%=partDescription%>"
<% System.out.println("Loading the index values in input frame......");%>
// inputform.country.selectedIndex = inputform.hiddencountry.value
// Loading plant Index, supplier Index, part index and part description to selected values
<% if(plantIndex != null && !plantIndex.equals("")) {%>
inputframe.plant.selectedIndex = "<%=Integer.parseInt(plantIndex)%>"
<% System.out.println("Selected Plant Index after loading:"+plantIndex);} %>
<% if(supplierIndex != null && !supplierIndex.equals("")) { System.out.println("****Supplier Index not equals null..."+Integer.parseInt(supplierIndex)); %>
inputframe.supplier.selectedIndex = "<%=Integer.parseInt(supplierIndex)%>"
<% } %>
<% if(partIndex != null && !partIndex.equals("")) { %>
inputframe.part.selectedIndex = "<%=Integer.parseInt(partIndex)%>"
<% } %>
<% if(partDescription != null && !partDescription.equals("")) { %>
document.getElementById("partDescription").innerHTML = partD
<% } %>
// Making the default release type selection as done by user
<% if(releaseType != null && !"".equals(releaseType)) {
if("daily".equals(releaseType)) {%>
inputframe.release[0].checked = "checked"
<% //isDaily = true;
} else { %>
inputframe.release[1].checked = "checked"
<% //isWeekly = true;
} %>
<%--
The below code is used to fetch the session variable issueDate1
& issueDate2 (based on the release numbers selected)
and sets the same in two text fields.
--%>
<% if(issueDate1 != null && !issueDate1.equals("")) { %>
inputframe.issueDate1.value = "<%=issueDate1%>"
<% } %>
<% if(issueDate2 != null && !issueDate2.equals("")) { %>
inputframe.issueDate2.value = "<%=issueDate2%>"
<% } %>
<%--
Loading release drop down with the value matching with the entered issue date.
Scenario : User enters the issue date and the corresponding release number is
selected in drop down.
Logic 1:
1. Pass the issue date entered by user and get the matching release numbers
from EJB
2. Compare this with the combo collection and get the perfect match.
3. If more than one match is found take the one with amendment by default
4. Else get the matching one
5. Update the selected index of dropdown to this value
--%>
if(inputframe.release1.options.length > 0) {
var matchingCombo1Index = 0
var comboValue
var matchFound = "false"
var size
var amended = false;
var amendedReleaseExist = "<%=amendedRelease1Exist%>";
var firstValue = ""
var secondValue = ""
var amendedValue = ""
var j = 0
<%
if(matchingRelease1Number != null && matchingRelease1Number.size() != 0) {
Iterator iter = matchingRelease1Number.iterator();
matchingRelease1Size = matchingRelease1Number.size(); %>
size = "<%= matchingRelease1Size %>"
//alert("Size of collection to be matched:"+size)
<% while(iter.hasNext()) {
//String matchFound1 = "false";
String relValue = (String)iter.next();%>
//alert("Collection value under iteration:"+ "<%=relValue%>")
amended = "<%=relValue.endsWith("A")%>"
if(amended) {
amendedValue = "<%=relValue%>"
//alert("Collection value under iteration ends with A:"+amended)
var comb = "<%=relValue%>"
j = j + 1
for(var i = 0; i < inputframe.release1.options.length; i++) {
// breaking the for loop when matchingCombo1Index is set greater than 0
/*if(matchFound == true) {
break
comboValue = inputframe.release1.options.value
//alert("Combo value:->"+comboValue)
//alert("rel value in comparison:"+ comb);
if(comboValue == comb) {
if(size == 1) {
matchFound = "true";
if(size == 2) {
if(j == 1)
firstValue = comb
if(j == 2)
secondValue = comb
// The below if block shall be also kept as if((amended||(!amendedReleaseExist)==true)
// The below one perfectly works fine
if(amended || !amendedReleaseExist) {
matchFound = "true";
if(matchFound == "true") {
matchingCombo1Index = i
// alert("Matching combo index set to:"+ matchingCombo1Index)
inputframe.release1.selectedIndex = matchingCombo1Index
if(size == 2)
document.getElementById('errorArea').innerHTML = "There are"
+ " two release numbers for the particular Issue date."
+" Please select either one of the release numbers ("+firstValue+ " or "+secondValue+" )."
+" Default selection in the Release drop down is "+ amendedValue+ "."
matchingCombo1Index = 0;
matchFound = "false";
// Breaking the for loop
break;
<%
sess.removeAttribute("correspondingRelease1Number") ;
}%>
// Setting the selected release 1 index based on the logic done above.
if(matchingCombo1Index == 0) {
<% if(release1Index != null && !release1Index.equals("")) { matchingRelease1Number = null;%>
inputframe.release1.selectedIndex = "<%=Integer.parseInt(release1Index)%>"
<% } %>
<%--
Performing the above logic to select Release2 value
when the user enters issue date2
--%>
if(inputframe.release2.options.length > 0) {
var matchingCombo2Index = 0
var comboValue
var matchFound = "false"
var size
var amended = false;
var amendedReleaseExist = "<%=amendedRelease2Exist%>";
var firstValue = ""
var secondValue = ""
var amendedValue = ""
var j = 0
<%
if(matchingRelease2Number != null && matchingRelease2Number.size() != 0) {
Iterator iter = matchingRelease2Number.iterator();
matchingRelease2Size = matchingRelease2Number.size(); %>
size = "<%= matchingRelease2Size %>"
//alert("Size of collection to be matched:"+size)
<% while(iter.hasNext()) {
String matchFound1 = "false";
String relValue = (String)iter.next();%>
//alert("Collection value under iteration:"+ "<%=relValue%>")
amended = "<%=relValue.endsWith("A")%>"
if(amended) {
amendedValue = "<%=relValue%>"
//alert("Collection value under iteration ends with A:"+amended)
var comb = "<%=relValue%>"
j = j + 1
for(var i = 0; i < inputframe.release2.options.length; i++) {
// breaking the for loop when matchingCombo2Index is set greater than 0
/*if(matchFound == true) {
break
comboValue = inputframe.release2.options[i].value
//alert("Combo value:->"+comboValue)
//alert("rel value in comparison:"+ comb);
if(comboValue == comb) {
if(size == 1) {
matchFound = "true";
if(size == 2) {
if(j == 1)
firstValue = comb
if(j == 2)
secondValue = comb
// The below if block shall be also kept as if((amended||(!amendedReleaseExist)==true)
// The below one perfectly works fine
if(amended || !amendedRelease2Exist) {
matchFound = "true";
if(matchFound == "true") {
matchingCombo2Index = i
// alert("Matching combo index set to:"+ matchingCombo2Index)
inputframe.release2.selectedIndex = matchingCombo2Index
if(size == 2)
document.getElementById('errorArea').innerHTML = "There are"
+ " two release numbers for the particular Issue date."
+" Please select either one of the release numbers ("+firstValue+ " or "+secondValue+" )."
+" Default selection in the Release drop down is "+ amendedValue+ "."
matchingCombo2Index = 0;
matchFound = "false";
// Breaking the for loop
break;
<%
sess.removeAttribute("correspondingRelease2Number") ;
}%>
// Loading the selected release2 value in drop down
if(matchingCombo2Index == 0) {
<% if(release2Index != null && !release2Index.equals("")) { matchingRelease2Number = null;%>
inputframe.release2.selectedIndex = "<%=Integer.parseInt(release2Index)%>"
<% } %>
} // end of WITH
Logic 2: Not used
1. Pass the issue date entered by user and get the matching release numbers
2. Get the release numbers from session.
3. if release type is daily get the daily release numbers else get weekly release numbers
4. Compare the matching release numbers with daily / weekly release numbers collection
5. Find the match and update the selected index of drop down to this value
}// end of function
</script>
</HEAD>
<%-- Calling the two methods onload event of body --%>
<BODY onload="setCurrentDate(this);fillDropDown(this)"> -
Problem with JSP and servlet in Tomcat
hello all,
I have made a simple hello world in Eclipse and Tomcat, it works well on my localhost, but now that I try to run it on the server in our lab I got this exception:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Implementing class
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:272)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.IncompatibleClassChangeError: Implementing class
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:869)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1322)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:127)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
java.lang.Class.getConstructor0(Class.java:2640)
java.lang.Class.newInstance0(Class.java:321)
java.lang.Class.newInstance(Class.java:303)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:148)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
I have transfered the web.xml file and lib and classes folder in a WEB-INF folder and also all the JSP files. I can see he JSP file, but the 'hello worl' does not work and gives this exception!
Does any one have any idea what could be the problem?
thanks a lot
Mitraseems the web Server code previously loaded a class only when it was used rather than when it was referenced,
ask your question in the tomcat-user mailing ! !!! -
Cookie Problem With JSP and Tomcat
I have a tiny web application developed for my project thing.
I am facing a problem while maintaining sessions with Cookie. I use Tomcat 3.2.1 Web Server and JSP 1.2 Specifications for my web application.
I have created a page which creates a cookie and stores it in the client's PC, so when the same client visits the site, he can be remembered. Now while surfing the site in the same session, the site remembers the client. But once the client closes the browser and tries connecting to the site, he cannot be remembered. So I took a look into Temporary Internet Files of the client PC and found no cookie there. So where the cookie gets created and why does it disappears with the session. I have set a time limit of 1 year in the cookie.
Now is that a Problem with Tomcat or with the configuration settings of IE in the client PC?? Or something else???
Reply me Soon...Thanks for your reply.
following is the code for how do i create a cookie...
<%
String custno = custBean.createPreferred();
Cookie c = new Cookie("pc", custno);
c.setVersion(1);
c.setPath("/");
c.setComment("PreferredCustomer");
c.setDomain("think_machine");
//think_machine is the name of the Web Server(Tomcat)
c.setMaxAge(365*24*60*60);
response.addCookie(c);
%>
And the code to read a cookie is..
String custID = null;
Cookie[] cookies = request.getCookies();
for(int i = 0; i < cookies.length; i++)
if(cookies.getName().equals("pc"))
custID = cookies[i].getValue();
break;
One more thing I would like to let you know, that i access this from the same PC on which the Web Server is installed. Means the Server and the client are both one and the same PC. -
Problem with JSP taking long time to load.
Hi,
we have three server of oracle apps 10.1.3.
only on one server we are getting problem.
the problem is some jsp pages are taking long time to load and ssome times they dont evn load completly. half of the page is loaded and dont give any error message in opmn log.
the same pages are working fyn in other servers .
plesae help me.....This only happens in Photoshop 32 bit. Works fine in 64 bit.
-
Problem with jsp file on Mac running windows 7 thru bootcamp
I'm running Windows 7 64 bit on a Mac. Install went fine. Problem is that I cannot launch a jsp file (that then launches Citrix). Instead I get a message that it wants to save the file, or search the web for the program to open it.
I downloaded and installed Java (from Java website), but still have the same problem. Any ideas? Thanks!It does not work in Windows, "I'm running Windows 7 64 bit" that is why I suggested to check your "Windows" file associations and to look into a Windows forum. The issue has to do with Windows. Are you trying to view a jsp page with a browser? If so, what is the url? Are you trying to serve jsp pages? If so have you correctly configured a server with a srvlet container such as Tomcat?
jsp pages are opened with a browser. -
Synchronized problem in JSP/Servlet, please help me.
Hi, all
I have many processes in one JSP page or Servlet program of my project.
When many people visit at one time, then the project throws some SQL/DB Errors.
I have updated it and test it many times, I think, that is a synchronized problem.
At last I used ��synchronized (this){my JSP/Servlt SQL/DB processes}�� to synchronize
The process. Then the errors removed.
And now I think that too danger to use the ��synchronized (this){}�� to synchronized.
If use it then some other problem may be growling on. Such as when one people need to use
This service others must to wait, the process may be too slow! And when an exception throws
from the SQL/DB or some other place, what I do? Need any advice from you.
Sincerely
Urey
*** my JSP/Servlt Server is tomcat ***As Chuck points out, there isn't a new instance of the Servlet/JSP for each request - they are probably all calling the same instance so any state will be shared. If your Connection is stored as a member variable then you'll have problems with it already being in use if two people hit the page at the same time.
Limited resources such as database connections should ideally be pooled anyway to ensure that you're not opening them all the time and that you can control how many are open across the entire application. Then you'd simply need to get a fresh connection out of the pool at the top of the page and make sure you put it back when you're done.
Incidentally, although it might work, synchronizing the database access in the JSP would be a bad idea since you'd just create a queue of requests waiting to use the one Connection whereas you really need a number of Connections to deal with everyone simultaneously.
If you need some example code for a simple JSP using a database connection pool (DataSource) just say.
Hope this helps. -
Having Problem with JSP In Netscape!HELP!!!
HI to all! I�m having problem with the jsp that i have :( If i use the Internet explorer it works but at Netscape... it doesn�t work :( The value of "PTE" is null... I need help !!!Please! I think the HTML IS NOT HELPING ...
the code is :
<html>
<head>
<!--tp001_transferencias_oic_POR.jsp-->
<title>BBVA - Transferências - Transferências OIC</title>
<LINK rel=STYLESHEET type='text/css' href="estilos/tablas.css">
<!--script language="javascript" src "js/dynlayer.js"></script-->
<script language="Javascript" src="js/banner.js"></script>
<script language="Javascript" src="js/tp_oic.js"></script>
<script language="Javascript" src="js/utilidades.js"></script>
<script language="javascript" src="js/limpar.js"></script>
<script language="javascript" src="js/tiempo.js"></script>
</HEAD>
<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" class="pag-contenido" onLoad="controlSesion();">
<%@ include file ="includecbtf.jsp" %>
<% String s = (String)datos.get("dt");
java.util.StringTokenizer str = new java.util.StringTokenizer(s, "-");
String anoServer = str.nextToken() ;
String mesServer = str.nextToken() ;
String diaServer = str.nextToken() ;
%>
<!--1�form-->
<form method="post" name="captura" action="<%=urls.get("action")%>">
<center> <!--1�center-->
<br>
<!--1�table-->
<table border="0" cellpadding="0" cellspacing="0" width="500"> <!--table das transf e nome-->
<tr>
<td colspan="3"><img src="images/linea.gif" border="0"></td>
</tr>
<tr>
<td width="250"><img src="images/traspasos.gif" border="0"></td>
<td width="82"><img src="images/titular.gif" border="0"></td>
<td width="169" class="fondotitular"><font class="texttitular"><%=datos.get("usuario")%></font></td>
</tr>
<tr>
<td colspan="3"><img src="images/linea.gif" border="0"></td>
</tr>
</table> <!--Fim do 1� table-->
<br><br>
</center> <!--Fim do 1� Center-->
<center> <!--2� Center-->
<!--Conteudo do table 2-->
<table cellpadding="3" cellspacing="1" border="0" align="center" width="500"> <!--table referente a mensagem-->
<tr>
<td class="cabeceratitulo" colspan="2"><p class="titulotabla">Nota : As Transferências para outras Instituições de Crédito decorrem de acordo com os horários da Compensação Interbancária, não se responsabilizando o BBVA pela sua realização fora das regras em uso.</p></td>
</tr>
<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
</table> <!--fim do table2-->
</center> <!--Fim do 2� Center-->
<center> <!-- Inicio 3� Center-->
<!--Conteudo da table Combo-->
<!--Table3-->
<table cellpadding="3" cellspacing="1" border="0" align="center" width="500">
<tr>
<td class="cabeceratitulo" colspan="2"><p class="titulotabla">Transferência Conta a Conta para outras Instituiçôes de Crédito</p></td>
</tr>
<tr>
<td class="formgrisosc" width="100">
<p class="dato">Conta Ordenante: </p></td>
<td class="formgrisosc" width="300">
<%
java.util.Vector v = (java.util.Vector)(datos.get("ListaCuentas"));
java.util.Hashtable elem;
java.util.Enumeration e = v.elements();
%>
<!--1� Select-->
<select name="conta" size="1" class="formgrisosc">
<%
while (e.hasMoreElements()){
elem = (com.ibm.dse.base.Hashtable)(e.nextElement());
String cuenta = ((String)elem.get("s_banco")).trim() + "-"+((String)elem.get("s_oficina")).trim()+((String)elem.get("s_dcontrol")).trim()+((String)elem.get("s_num_cuenta")).trim();
out.println("<option value=\"" + ((String)elem.get("s_tipo")) + "$" + ((String)elem.get("s_clave_asunto")) + "\">" + cuenta + "</option>");
%>
</select> <!--Fim do 1� Select-->
</td>
</tr>
<tr>
<td class="formgriscla" width="100"><p class="dato">Data de Processamento:</p></td>
<td class="formgriscla">
<input type="text" name="dia" size="2"class="formgriscla" value="<%=diaServer %>" maxlength="2" class="formgriscla"> /
<input type="text" name="mes" size="2"class="formgriscla" value="<%=mesServer %>" maxlength="2" class="formgriscla"> /
<input type="text" name="ano" size="4"class="formgriscla" value="<%=anoServer %>" maxlength="4" class="formgriscla"></td>
<input type="hidden" name="dact" size="2"class="formgriscla" value="<%=diaServer %>" maxlength="2" class="formgriscla">
<input type="hidden" name="mact" size="2"class="formgriscla" value="<%=mesServer %>" maxlength="2" class="formgriscla">
<input type="hidden" name="aact" size="4"class="formgriscla" value="<%=anoServer %>" maxlength="4" class="formgriscla"></td>
</tr>
<tr>
<td class="formgrisosc" width="100"><p class="dato">Moeda: </p></td>
<td class="formgrisosc"><p class="dato">
<!--Select 2�Ver este bem-->
<select name="Moeda" size="1" class="formgrisosc">
<option value="PTE" selected>Escudos</option>
<option value="EUR">Euros</option>
</select> </p>
</td>
</tr>
<tr>
<td class="formgriscla" width="100"><p class="dato">Importância:</p></td>
<td class="formgriscla"><input type="text" name="importancia" size="20" maxlength="15" class="formgriscla"></td>
</tr>
<tr>
<td class="formgrisosc" width="100"><p class="dato">Refêrencia:</p></td>
<td class="formgrisosc"><input type="text" name="ref" size="15" maxlength="10" class="formgrisosc"></td>
</tr>
<tr>
<td class="formgriscla" width="100"><p class="dato">NIB Beneficiário:</p></td>
<td class="formgriscla"><input type="text" name="nibBeneficiario" size="30" maxlength="21" class="formgriscla"></td>
</tr>
<tr>
<td class="formgrisosc" width="100"><p class="dato">Descrição p/ Conta Débito:</p></td>
<td class="formgrisosc"><input type="text" name="debito" size="45" maxlength="45" class="formgrisosc"></td>
</tr>
<tr>
<td class="formgriscla" width="100"><p class="dato">Descrição p/ Conta Crédito:</p></td>
<td class="formgriscla"><input type="text" name="credito" size="45" maxlength="45" class="formgriscla"></td>
</tr>
<tr>
<td class="cabecera" colspan="2"><img src="images/1x1.gif" width=1 height=3 border="0"></td>
</tr>
</table> <!--Fim do table 3-->
</center> <!--Fim do 3�center-->
<center> <!--Inicio do 4� Center-->
<!--Inicio da table 4�-->
<table border="0" cellspacing="2" cellpadding="0">
<tr>
<td valign="top"><img src="images/limpar.gif" border="0" alt="Apagar"></td>
<td valign="top"><img src="images/continuar.gif" border="0" alt="Continuar"></td>
</tr>
</table> <!--Fim do 4� Table-->
</form> <!--Fim do FORM-->
</center> <!--Fim do 4� Center-->
</body> <!--Fim do BODY-->
</html> <!--Fim do Html-->
Thanks pepole!thanks people! when i try to validate the action "PTE" he gaves me (if i put a ALERT...) null.
the js code is : (Moeda is coin )
//testa amount
// var ent = (f.amount.value);
var tamanho = f.amount.value.length;
var valor = f.amount.value;
decimals = 2; // Apenas pode ter duas casas decimais?
if (((tamanho == 0) || (valor == 0)) && ok)
alert ("A import�ncia tem de ser maior que zero.");
f.amount.focus();
f.amount.select();
ok = false;
else
alert(f.Moeda.value);
if((f.Moeda.value=="PTE") && ok)
for (j = 0; j < tamanho; j++)
xx = valor.charAt(j);
if ((!(xx.match(numeroER)) && ok))
alert ("O Campo Import�ncia deve ser num�rico inteiro.");
f.amount.focus();
f.amount.select();
ok = false;
//if para limitar valor dos Escudos
if (ok)
if (eval(valor) > 1000000)
alert ("The field amount must be maxium 1 000 000 Pte.");
f.amount.focus();
f.amount.select();
ok = false;
else
if (ok)
//function checkDecimals(f.amount, f.importancia.value) {
if (isNaN(valor)) {
alert("O Campo Import�ncia deve ser num�rico e como separador decimal, o ponto.");
f.amount.select();
f.amount.focus();
ok = false;
else {
timeshundred = parseFloat(valor * Math.pow(10, decimals));
integervalue = parseInt(parseFloat(valor) * Math.pow(10, decimals));
if (timeshundred != integervalue)
alert ("Apenas pode ter " + decimals + " casas decimais. Por favor tente outra vez.");
f.amount.select();
f.amount.focus();
ok = false;
if (ok)
{ //if to limit the value of the Euros
if(eval(valor) > 4988)
alert ("The field amount must be maxium 4988 Eur.");
f.amount.focus();
f.amount.select();
ok = false;
}//end of amount -
Ajx problem with jsp .not able to show ajax response data in table rows
hi evryone
i m new to ajax .i m not able solve this problem .pls help if anyone understood my problem
probelm scenario is like this:
take a example of shopping page where a field amount changes every time (time interval) ,the amount data is coming from database .ok...
this i m trying to do with ajax and want to display the value in table rows one by one ..but response whihc i m getting is different .....same value is diaplying in evry rows .which i dont want
the output it coming now is:like this
item amount
item 1 20
item2 20
item 3 20
i want like thi s
item amount
item 1 20
item2 30
item 3 40
even in database the value is 20,30,40
here is the code of two jsp page
one is ajaxitem_amount.jsp
<%
try
stmt3 = con.createStatement();
String itemQ="select item_ref_id,quantity from item_master where shop_ref_id="+shopid+" and (status is null or status<>'w') order by item_ref_id";
//out.println(railQ);
rs_details=stmt3.executeQuery(itemQ);
while(rs_details.next())
item2 = rs_details.getInt("ITEM_REF_ID");
v.add(new Integer(item2));
String aString = Integer.toString(item2);
itemids.add(aString);
Enumeration enum = v.elements();
for (j=0; j<v.size(); j++)
//out.println("v[" + j + "] = " + v.elementAt(j));
sql3="select max(shop_amount) from shop_floor_temp where item_ref_id="+v.elementAt(j);
rs_bid=stmt3.executeQuery(sql3);
if(rs_price.next())
last_price=rs_price.getDouble(1);
if(last_price != 0)
lprice= last_price;
else
lprice=1;
out.print("<response>");
out.print(lprice+"|");
out.print("</response>");
out.print("\n");
catch(Exception ex)
out.print("ERROR"+ex);
// out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
_another is main shopping
<td bgcolor="#C5B9AB" width="10%" align="center">
<strong><font face="Verdana" size="2">Last price</font></strong>
int tabrowcounter=0;
while(rs_details.next())//some query
tabrowcounter++;
//*some more data is displayed here one by one all are working instead of this which i am calling from another page ajaxitem_amount.jsp page*
<td bgcolor='<%=colorjava%>' width="50%" align="center">
<div id="responseimage<%=tabrowcounter%>"></div>
<div id="responseOutput<%=tabrowcounter%>"></div>
<SCRIPT LANGUAGE="JavaScript">
function createXHR<%=tabrowcounter%>()
try { return new XMLHttpRequest(); } catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
alert("XMLHttpRequest not supported");
return null;
function sendRequest<%=tabrowcounter%>()
document.getElementById('responseimage<%=tabrowcounter%>').innerHTML ="<IMG SRC='load.gif'> ";
document.getElementById('responseimage<%=tabrowcounter%>').style.display = 'block';
document.getElementById('responseOutput<%=tabrowcounter%>').style.display = 'none'
var url="ajaxauct_floor.jsp";
var xhr = createXHR<%=tabrowcounter%>();
if (xhr)
xhr.open("get",url,true);
xhr.onreadystatechange = function()
handleResponse<%=tabrowcounter%>(xhr);
xhr.send(null);
function handleResponse<%=tabrowcounter%>(xhr)
if (xhr.readyState == 4 && xhr.status == 200)
try
var data = xhr.responseText.split("|");
//document.write(data);
//updatePage<%=tabrowcounter%>(xhr.responseText);
//document.write(xhr.responseText);
setTimeout('sendRequest<%=tabrowcounter%>()',10000);
for(var x=0;x<data.length-1;x++)
//alert(data);
document.getElementById('responseOutput<%=tabrowcounter%>').innerHTML = data[x];
document.getElementById('responseimage<%=tabrowcounter%>').style.display = 'none'; // HIDE
document.getElementById('responseOutput<%=tabrowcounter%>').style.display = 'block'
//document.getElementById('responseOutput<%=tabrowcounter%>').innerHTML = data[0];
//document.getElementById('responseOutput<%=tabrowcounter%>').innerHTML = data[0];
catch(e)
alert('1 '+e)
sendRequest<%=tabrowcounter%>();
</SCRIPT>
</td>
</tr></table>
if anyone have understood my problem pls help me .i have tried lot but not working .anyone genius here ?thnak youthanks baluc
thanks for correcting me and giving me a good advice .anyway i m trying make you understand once again ...
if you have understood this time please do reply .else i m sorry for placing wrong question ....
hi everyone
I m new to Ajax .I m not able solve this problem .pals help if anyone understood my problem
problem scenario is like this:
take a example of shopping page where a field amount changes every time (time interval) ,the amount field* (this data is coming from database )
this I m trying to do with Ajax and want to display the value in table rows one by one ..But response which I m getting is different.....same value is displaying in every rows .which I don't want
The output it coming now is: like this
item amount
item 1 20
item2 20
item 3 20
I want like this s
item amount
item 1 20
item2 30
item 3 40
even in database the value is 20,30,40
here is the code of jsp page
one page is ajaxitemamount.jsp_*
<%
try
stmt3 = con.createStatement();
String itemQ="select item_ref_id,quantity from item_master where shop_ref_id="+shopid+" and (status is null or status<>'w') order by item_ref_id";
//out.println(railQ);
rs_details=stmt3.executeQuery(itemQ);
while(rs_details.next())
item2 = rs_details.getInt("ITEM_REF_ID");
v.add(new Integer(item2));
String aString = Integer.toString(item2);
itemids.add(aString);
Enumeration enum = v.elements();
for (j=0; j<v.size(); j++)
//out.println("v[" + j + "] = " + v.elementAt(j));
sql3="select max(shop_amount) from shop_floor_temp where item_ref_id="+v.elementAt(j);
rs_bid=stmt3.executeQuery(sql3);
if(rs_price.next())
last_price=rs_price.getDouble(1);
if(last_price != 0)
lprice= last_price;
else
lprice=1;
out.print("<response>");
out.print(lprice+"|");
out.print("</response>");
out.print("\n");
catch(Exception ex)
out.print("ERROR"+ex);
// out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
another is main shopping page page 2*
<td bgcolor="#C5B9AB" width="10%" align="center">
<strong><font face="Verdana" size="2">Last price</font></strong>
int tabrowcounter=0;
while(rs_details.next())//some query
tabrowcounter++;
<td bgcolor='<%=colorjava%>' width="50%" align="center">
<div id="responseimage<%=tabrowcounter%>"></div>
<div id="responseOutput<%=tabrowcounter%>"></div>
<SCRIPT LANGUAGE="JavaScript">
function createXHR<%=tabrowcounter%>()
try { return new XMLHttpRequest(); } catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
alert("XMLHttpRequest not supported");
return null;
function sendRequest<%=tabrowcounter%>()
document.getElementById('responseimage<%=tabrowcounter%>').innerHTML ="<IMG SRC='load.gif'> ";
document.getElementById('responseimage<%=tabrowcounter%>').style.display = 'block';
document.getElementById('responseOutput<%=tabrowcounter%>').style.display = 'none'
var url="ajaxauct_floor.jsp";
var xhr = createXHR<%=tabrowcounter%>();
if (xhr)
xhr.open("get",url,true);
xhr.onreadystatechange = function()
handleResponse<%=tabrowcounter%>(xhr);
xhr.send(null);
function handleResponse<%=tabrowcounter%>(xhr)
if (xhr.readyState == 4 && xhr.status == 200)
try
var data = xhr.responseText.split("|");
//document.write(data);
//updatePage<%=tabrowcounter%>(xhr.responseText);
//document.write(xhr.responseText);
setTimeout('sendRequest<%=tabrowcounter%>()',10000);
for(var x=0;x<data.length-1;x++)
//alert(data);
document.getElementById('responseOutput<%=tabrowcounter%>').innerHTML = data[x];
document.getElementById('responseimage<%=tabrowcounter%>').style.display = 'none'; // HIDE
document.getElementById('responseOutput<%=tabrowcounter%>').style.display = 'block'
//document.getElementById('responseOutput<%=tabrowcounter%>').innerHTML = data[0];
//document.getElementById('responseOutput<%=tabrowcounter%>').innerHTML = data[0];
catch(e)
alert('1 '+e)
sendRequest<%=tabrowcounter%>();
</SCRIPT>
</td>
</tr></table>
if anyone have understood my problem please help me .i have tried lot but not working .anyone genius here ?thank you
Maybe you are looking for
-
ITunes sharing no longer works
When I try to connect to my shared library I only get a dialog box mentioning "iTunes not accepting connections at this time, try again later." Supposedly this message only occurs when 5 other users have connected to your library in a single day. I'v
-
Hi. Recently I got a system with z87 g45 mainboard, xfx r9 290 graphics card. When enabling onboard video, and installing VirtuMVP everything seemed fine. Played a few games and noticed it was giving more of a performance hit then boosting it. Update
-
MMS disabled in iOS 8.3
Since upgrading to iOS 8.3 recently on my iPhone 6 Plus, I have not been able to send MMS messages, so I can't send photos or other media files to people who don't have an iPhone. In Settings>Messages, there are no longer fields for MMS or Group Mess
-
How do I protect my Verizon blocked number when texting?
I was shocked to find that my Verizon iPhone blocked number was in fact revealed when I sent text to an Android user who was employing a little app refused by Apple named Mr. Number. I like to know that I am safe and protected and when and when I'm
-
Problem in executing Dynamic SQL in SYSTEM Schema
Hi, I am trying to execute the below given dynamic sql from SYSTEM account. 'SELECT cnt, SUBSTR(SYS_CONNECT_BY_PATH(column_name,'',''),2) AS COLS FROM ( SELECT b.column_name,b.position,COUNT(1) over (ORDER BY a.constraint_name) AS cnt FROM SYS.dba_Co