Session problem in jsp application

I face a session problem. I setting everything in a session and when pass back to a main page, the value is not display in the screen. But after refresh the value will display in the screen and this kind of problem only come out very few time and i dun knw how to solve this...
Anyone here can give me some idea and suggestion or the way to solve this kind of problem!!!

define "2 different clients"
1) You have 2 different PCs and it's using the same session ID for both? I doubt this. I think the server is advanced enough not to use give a session ID that's already been created.
2) You have 1 PC and are using IE or Netscape and using File > New Window to open a new window and connect again. This you can't fix without using only URL rewriting to manage session, because the different windows will share the same session cookies.

Similar Messages

  • Session problem in JSP

    Good day to all!
    I have a JSP that generates an Excel document. I used the application/vnd.ms-excel in the contentType so that IE automatically opens Excel. I noticed that if I use IE 5.5 or 5, the data in the session, that I'm suppose to display in the excel worksheet, is lost. However, if I display the data having text/html as contentType, the browser is able to get the session data.
    Note that I don't encounter this problem if I use IE 6. If there's a problem about cookies or the like in IE 5.5, then why does it able to get the correct data in plain html?
    Any ideas?

    Anybody knows an answer to this problem?

  • Session Problem in JSP IFrames

    Hi All,
    I am trying to use IFrames in my jsp page. but when it load the creditReportDetails.jsp it will open the frame in login screen means it looses the session in frames window.
    CreditReports.jsp
    <html:form>
         <IFRAME SRC='<%= response.encodeURL("creditReportDetails.jsp") %>' marginheight="2"     marginwidth="2" height="100%" width="100%"      scrolling=yes> </IFRAME>
    </html:form>
    Can you help me about this metter?
    Thanks,
    Hiren Modi

    please look at the question given first to know the jsp1 and jsp2.
    actually the applet which calls page2.jsp using it's getAppletContext().showDocument method, has been contained in page1.jsp. there is also an intermidiate servlet which store the objects in session but it is not part of my problem hence i didn't mention it.
    moreover, i am using applet-servlet communication from page1.jsp to make the data available inside servlet.
    the overall procedure is,
    1) user enter the information in page1.jsp.
    2) by applet-servlet communication data is sent to servlet to store in session.this is accomplished while being at page1.jsp because applet-servlet communication occurs in background.
    3) once data stored in session, page2.jsp is called from page1.jsp using applet's getAppletContext().showDocument method.
    in the first cycle it work fine while in second cycle and same server startup when session's object has been edited using same applet-servlet communication and page2.jsp has been called using same method then session.getAttribute() method doesn't show the new values at page2.jsp.
    it seems like session has expired at page2.jsp in second cycle.

  • Session problem in JSP portlet

    Hi,
    I have a jsp portlet. In this jsp i am creating a session and i am putting some value in session. There is navigation from this jsp to second jsp(not portlet) and from this jsp to third jsp(again this is also not a portlet). Now in third jsp i am trying to retrieve the value from session. But i am getting null value.
    In provider i given <session>true</session> element. While registering provider with portal given login frequency 'once per user session'.
    The code in first jsp is:
    PortletRenderRequest portletRequest = (PortletRenderRequest) request.getAttribute(HttpProvider.PORTLET_RENDER_REQUEST);
    ProviderSession mySession = portletRequest.getSession();
    if(mySession != null){
    mySession.putValue(PortletRendererUtil.portletParameter(portletRequest.getPortletReference(), "const"), str);
    From the code i found that the session itself is not created.
    Sorry for the lengthy question.
    Pls. help me.
    Rgds,
    CRM.
    null

    To share a session between a web provider and other JSPs or Servlets, you need to make sure the "Same Cookie Domain" checkbox is checked AND your session cookie is scoped to a common domain (eg us.oracle.com)
    See documents on session handling and Integrating Password Protected Applications into Oracle Portal - downloadable from portalstudio.oracle.com.
    review the section on "deep links" in the second article.

  • JSP application session terminated & application terminated

    I have a JSP application running under Oracle 9iAS 1.0.2.1 on a Windows 2000 server.
    Upon successful login to the application, a new browser window is opened for the application and the parent browser is redirected to a benign static HTML page. The new browser window allows us to present the illusion of a captive application - the 'application' browser window is not resizable and does not have a tool bars.
    The login jsp creates several session scope objects. These session scope objects are used by the core application jsps interfaced through the application browser.
    In the test enviroment the application functions as expected.
    In the production environment sessions appear to terminate immediately following login. All session scope objects are null in the jsp page - mainMenu.jsp - that serves as the application entry point in the new browser window. Application scope objects are not null in this initial jsp. Upon a subsequent access to login.jsp, the application_onStart event is triggered, followed by a session_onStart event and the failure of mainMenu.jsp due to null session scoped objects.
    Any ideas on how to diagnose this problem would be greatly appreciated.

    Hi Anil,
    Thxs for the reference. I will check this with the system administrator because at first glance one has to be careful with this type of configuration.
    Reward given.
    LauQ.

  • Urgent ! Problem when test Application Moudule with a customer JSP FIle!!

    I got these two errors:
    oracle.jbo.common.ampool.ApplicationPoolException: JBO-30003: The application pool, ETicket_UserSystem_UserSystemAppModule, failed to checkout an application module instance.
    JBO-25002: Definition of ETicket_UserSystem_UserSystemAppModule of type......
    Here is my JSP file code:
    <%@ page language = "java" errorPage="errorpage.jsp" import = "java.util.*, oracle.jbo.*, javax.naming.*, oracle.jdeveloper.html.*, oracle.jbo.html.databeans.*" contentType="text/html;charset=ISO-8859-1" %>
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
    <title>Business Components JSP Application</title>
    </HEAD>
    <%oracle.jbo.html.jsp.JSPApplicationRegistry.registerApplicationFromPropertyFile(session, "UserSystemJSP_ETicket_UserSystem_UserSystemAppModule");
    %>
    <BODY>
    <jsp:useBean id="viewer" class="oracle.jbo.html.databeans.ViewCurrentRecord" scope="request">
    <%
    viewer.initialize(application, session, request, response, out, "UserSystemJSP_ETicket_UserSystem_UserSystemAppModule.UserRecordView");
    RowSet rs = viewer.getRowSet ();
    Row r = null;
    rs.setCurrentRow (rs.first ());
    r = rs.getCurrentRow ();
    while (rs.hasNext ()) {
    out.println (r.getAttribute ("loginname"));
    r = rs.next ();
    viewer.setReleaseApplicationResources(true);
    %>
    </jsp:useBean>
    </BODY>
    </HTML>
    Here is the properties file UserSystemJSP_ETicket_UserSystem_UserSystemAppModule.properties
    ApplicationModuleName=ETicket.UserSystem.UserSystemAppModule
    #ConfigName=ETicket.UserSystem.UserSystemAppModule.UserSystemAppModuleEJB
    #in 8i mode this is an IIOP connection name to travel user.
    #in LOCAL mode this is a JDBC COnnection Name to travel user.
    ConnectionName=etdbcon
    # used only if password not provided by connection definition in the config
    Password=etpg1
    #CSS File Name
    CSSURL=/webapp/cabo/images/cabo_styles.css
    #Root Image Directory
    ImageBase=/webapp/jsimages
    #only used in 8i mode
    JndiPath=test/etpg1/ejb/ETicket.UserSystem.UserSystemAppModule
    #Defines if application is stateless or not
    IsStateLessRuntime=false
    Here is the bc4j.xcfg file:
    <BC4JConfig>
    <AppModuleConfigBag>
    <AppModuleConfig name="UserSystemAppModuleLocal">
    <ApplicationName>ETicket.UserSystem.UserSystemAppModule</ApplicationName>
    <DeployPlatform>LOCAL</DeployPlatform>
    <JDBCName>etdbcon</JDBCName>
    <jbo.project>UserSystem</jbo.project>
    </AppModuleConfig>
    <AppModuleConfig name="UserSystemAppModuleEJB">
    <DeployPlatform>LOCAL</DeployPlatform>
    <JDBCName>etdbcon</JDBCName>
    <IIOPName>iiopcon</IIOPName>
    <jbo.project>UserSystem</jbo.project>
    <ApplicationName>ETicket.UserSystem.UserSystemAppModule</ApplicationName>
    </AppModuleConfig>
    </AppModuleConfigBag>
    </BC4JConfig>
    Any error in above files or other place??
    I only run it in JDeveloper, no deploy and test in Application Server.

    Akira,
    Here's what I would recommend:
    1. Generate a BC4J JSP web application based on one of your view objects. This will give you the 'factory' code that we use to connect to the app module and iterate through a rowset. If this JSP works, you can compare the code generated by our wizards with the one you have included.
    2. Your properties file looks like a hybrid of 3.1 and 3.2. In 3.2, the properties file contains just an entry for the ConfigName, and the password. The JSP then looks at the BC4J.xcfg at runtime for all the other connection information.
    The error you are reporting sounds connection related, so I would recommend cleaning up your properties file to be more 3.2-like. If this is an app you have upgraded from 3.1, then see the online help topic 'About Upgrading a JSP Project in 3.2'. This topic can be found under the Creating JSP Pages folder, and then under About JSP Applications.
    null

  • Problems with Complete Bi JSP Application.

    Hello.
    I can see perfectly my presentation, it connect with database perfectly, but when i creacte a complete bi Jsp Application to incorporate this Bi Bean Object , i have this problem.
    It generate a exception in MetadataManager and cannot connect with database.
    Could anybody help me?
    Thanks a lot.
    BIB-18007 Se ha producido una excepción de MetadataManager. BIB-10100 No se puede conectar a la base de datos. (Motivo: Consulte el error oracle.i1) BIB-16601 No se puede conectar a la base de datos. (Motivo: Consulte el error oracle.i1) oracle.i18n.util.builder.UnicodeMapChar oracle.i18n.util.builder.UnicodeMapChar
    Rastreo de pila
    javax.servlet.jsp.JspException: BIB-18007 Se ha producido una excepción de MetadataManager.
    BIB-10100 No se puede conectar a la base de datos. (Motivo: Consulte el error oracle.i1)
    BIB-16601 No se puede conectar a la base de datos. (Motivo: Consulte el error oracle.i1)
    oracle.i18n.util.builder.UnicodeMapChar
    oracle.i18n.util.builder.UnicodeMapChar
    at oracle.dss.addins.jspTags.PresentationTag.doStartTag(PresentationTag.java:293)
    at Analyze1.jspService(Analyze1.jsp:12)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)

    This usually implies the JSP application cannot connect to the database listed in your runtime configuration setting of your BIDesigner.
    In the BIDesigner check to see how the runtime connection is configured. There are two options:
    a) Use design settings - this will use the local catalog in your JDev project
    b) you can create a specify a BIDesigner connection and a corresponding BI Catalog connection
    If you are using option (b) then make sure your presentation is copied to the BI Catalog. Then test all the connections including the catalog connection listed on the runtime settings tab of the BIDesigner.
    Hope this helps
    Business Intelligence Beans Product Management Team
    Oracle Corporation

  • Problem accessing session variable from jsp

    Hi!
    I get an error retrieving a session variable from inside a JSP declaration scriptlet....
    Something like this code in a JSP page:
    <%!
    public void funtion1() {
    String parameter1 = session.getAttribute("parameter1");
    %>I have seen that I have available getContextServer() method and from there I could call getAttribute("parameter1") . But the thing is that the attribute I want to retrieve was stored in session by another Jsp page.
    Any solutions are welcome
    Cheers
    Victor

    Appropriately the above is one the reasons also You cannot use JSP implicit objects from the declaration tag. However we can think of a small workaround by passing the reference like the one discussed below
    <%!public void funtion1(HttpSession session) {
    String parameter1 = session.getAttribute("parameter1").toString();
    }%>
    <% funtion1(session);%>Hope that helps :)
    REGARDS,
    RaHuL

  • 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 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>
              > ...
              

  • Security in an jsp application using BIBeans

    Hi all,
    We are developing a system with BIB to access OLAP 9.2.0.5. We need to implement some access rules at database level, i.e. user 1 can read levels 1, 2 and 3 of a hierarchical dimension, but user 2 can only read level 3. We do not know how to pass this database rules to BI catalog user, or replace this BI user with database connection information, to have more than one different user connection accessing the system. Anyone can help me?
    thanks in advance,
    Alexandre Martins - Commit Consultores - Brazil

    We are developing a jsp application with TAG libraries
    Ex.:
    <orabi:BIThinSession id="BIThinSession1" configuration="/Project1BIConfig1.xml" >
    <orabi:Presentation id="untitled1_Presentation1" location="Presentation1" />
    </orabi:BIThinSession>
    <FORM name="BIForm">
    <!-- Insert your Business Intelligence tags here -->
    <orabi:Render targetId="untitled1_Presentation1" parentForm="BIForm" />
    <%-- The InsertHiddenFields tag adds state fields to the parent form tag --%>
    <orabi:InsertHiddenFields parentForm="BIForm" biThinSessionId="BIThinSession1" />
    </FORM>
    This application hás a login screen, where the user will pass his database username and password, which corresponds equally to a user of same name at the BI Beans catalog.
    Here is the moment that we face the Problem: We can not change the user to switch to the database user. The catalog user is switched by BIUser().
    Workarounds performed:
         1 – We created a ConnectionProvider class to establish the connection with the properties and another class - AuthenticationProvider - to pass parameters to the connection.
              Problem: Could not pass parameters to Application Authentication class. Tried to force application to connect to authentication or vice-versa to pass username that was informed at login screen but this does not work.
         Ex.: trying to set this classes at configuration file (.xml).
         User “ALEX” has database access (OLAP , MOLAP) and catalog access .
    public class AuthenticationProvider implements oracle.dss.security.AuthenticationProvider {
    public void authenticate(Hashtable properties) throws BISecurityException {
    properties.put(“user_name”, “ALEX”);
    properties.put(“password”, “ALEX_1”);
    public class ConnectionProvider implements oracle.dss.security.ConnectionProvider {
    public Object connect(Hashtable properties) throws BISecurityException {
    Connection conn = null;
    try {
    DriverManager.registerDriver(new OracleDriver());
    String sUSER = properties.get("user_name").toString();
    String sPW = properties.get("password").toString();
    String connStr = "";
    if(properties.get("jdbctype").equals("thin")) {
    connStr = "jdbc:oracle:thin:@" +
    properties.get("hostname") + ":" +
    properties.get("port") + ":" +
    properties.get("sid");
    conn = (Connection)DriverManager.getConnection(connStr, sUSER, sPW);
    catch(Throwable t) { throw new BISecurityException("Erro na conexão!", t); }
    return conn;
         2 – Tried to get configuration through session searching all the connections and changing user to desired connection (in this case “thin”, MM.MDM) and reconnecting or disconnecting and reconnecting again.
    At this point, debugged the database connection and could see that username actually changed, but when the program reached the open presentation TAG received an error because TAG could not understand the connection.
         Ex.: This is in between session TAG
    <orabi:BIThinSession id="BIThinSession1" configuration="/Project1BIConfig1.xml" >
    <%
    ManagerFactory mf = BIThinSession1.getManagerFactory();
    MetadataManager mdm = null;
    if (mf != null) {
    mdm = (MetadataManager) mf.lookupManager(
    ManagerFactory.METADATA_MANAGER, null, true);
    if (mdm != null) {
    try {
    int iAttachStatus = mdm.getAttachStatus();
    if ((iAttachStatus != MM.ATTACHED) &&
    (iAttachStatus != MM.ATTACHING))
    mdm.attach();
    Connection[] connectionArray = mdm.getConnections();
    if (connectionArray != null) {
    int count = connectionArray.length;
    for (int index = 0; index < count; index++) {
    String driverType = connectionArray[index].getDriverType();
    if ( (driverType != null) &&
    (driverType.equals(MM.MDM)) &&
    (connectionArray[index].isConnected()) ) {
    if(driverType.equals(MM.MDM)) {
    connectionArray[index].setUsername("ALEX");
    connectionArray[index].setPassword("ALEX_1");
    connectionArray[index].reconnect(connectionArray[index].getPropertyBag());
    catch (Exception ex) {
    ex.printStackTrace(); // just for demo purpose
    %>
    <orabi:Presentation id="untitled1_Presentation1" location="Presentation1" />
    </orabi:BIThinSession>

  • JSTL problem with JSP

    Hi,
    I am developing enterprise application using jboss portlets, ejb, jsp, jstl, other stuff on jboss AS.
    I am facing some interesting problem in a jsp page which uses jstl. I have configured all jsp configurations with my web application.
    Presently i am putting an endpage, current page integer values in a session.
    In JSP page whenever i want to iterate a loop and some checks on endPage, curPage it gives me NumberFormatException and finally it results to compile the jsp page.
    The error comes when i am using these variables from session with JSTL tags. The snippet where the problem seems to be is as :
    <c:forEach var="selection" begin="1" end="${endPage}">
         <c:if test="${selection == curPage}">
    May anyone help me on this or whether the there may be some problems with the JSTL configurations ?
    In my view JSTL configurations is ok but the problems seems to be in the statements above or there may be some other way to define it.
    Any inputs ?
    -Sachin
    Software Engineer,
    EpiComm Technologies.

    The Snippet of Error Stack Trace on server console is here:
    11:38:32,234 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
    java.lang.NumberFormatException: For input string: "${endPage}"
         at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
         at java.lang.Integer.parseInt(Integer.java:468)
         at java.lang.Integer.valueOf(Integer.java:574)
         at org.apache.jasper.compiler.JspUtil.coerceToInt(JspUtil.java:752)
         at org.apache.jasper.compiler.Generator$GenerateVisitor.convertString(Generator.java:2914)
         at org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2717)
         at org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:2823)
         at org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2156)
         at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1665)
         at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
         at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
         at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
         at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1685)
         at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
         at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
         at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
         at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
         at org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
         at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
         at org.apache.jasper.compiler.Generator.generate(Generator.java:3270)
         at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:189)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
         at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.jboss.portal.portlet.impl.PortletRequestDispatcherImpl.execute(PortletRequestDispatcherImpl.java:64)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

  • Session tracking in JSP pages

    I've two pages in my web application which need regular refresh after a particular interval.I'm using
    (session.setMaxInactiveTime) to check the session validation.& HTML's <META> tag to regularly refresh the page after particular interval.
    On these two pages there are links to the different pages for which i'm opening a new window.
    But i'm losing the session after some time & i'm not able to catch the source from where the session is getting invalidated.even when i'm using meta tag of html to refresh the page.
    I'm also using HttpSessionEventListener Interface to know when the session.putValue & session.removeValue
    functions are used.
    I hope the problem is clear to you people.
    an urgent help/suggestion will be appreciated.
    thanks in advance

    Hi,
    it isn't easy see your problem. When you losing your session? When you hava open a link from your page i a new browser window (instance) and return?
    Also check follow: when no validate session exist, a jsp open a new session, else you use <%@ page session="false" %>
    Roland

  • How to remove the Sessions used in the application

    Hai Techies,,,
    i am using many number of sessions in my application, for example i am using 5 sessions in reports module
    my application is a web based application
    if can't remove the sessions it contains the huge amount of data , my application is going into mess, and the application performance will be decreased..
    Can anybody tell the solution for this Problem
    How to remove the Sessions used in the application
    Hoping a reply
    Thanks & Regards
    Krishna mangamuri

    Hai Gita,
    i am not able to do the session invalidate method bcoz, i am mainatainting the session from login along with the current userid who is login into the system and putting some of the data in session....
    thats session is to be valid upto when i click on logoff link
    except that i have to remove the sessions in my application
    while navigating from one jsp to another i have to remove the sessions, bit somes times that sessions may be used somewhere
    Can u Understand My problem
    session remove method may also helpful to me but some times it will casue some prob to me
    Is there any other Way to remove the sessions in the Application ????
    Thanks & Regards
    Krishna Mangamuri

  • Issues with deploying BC4J/JSP applications on OC4J

    To everyone who's been having problems deploying BC4J/JSP applications to OC4J.
    We are aware that you're having problems deploying to OC4J, and we're working on them. OC4J was not available in time for us to add support for OC4J deployment to the JDeveloper 3.2.3 release. In addition there are some bugs in the first release of OC4J that have an impact on BC4J applications. This note describes the issues, and how we plan to address them.
    Issue 1: Classpath problems
    People have been getting "class not found" or "properties file not found" errors when they try to run their JSP. The answer is to make sure that all relevant archives and your JSP's .properties file are in the OC4J classpath - there's a note addressing the .properties file problem at http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html. In general though, setting up the classpath can be tricky.
    Issue 2: JSP TAG NOT RELEASED ON END TAG. SAME TAG IS REUSED.
    This issue affects JSP pages whose behaviour relies on a tag instance being cleaned up as a result of release() being called.
    Your tag will not be released, and subsequent instances of the tag will reuse the first instance, rather than instantiating a new
    one.
    Issue 3:JSP SCRIPTABLE VARIABLE NULL
    A scriptable variable set in a tag cannot be accessed by a scriptlet. For example, this JSP code will throw a
    NullPointerException, because the scriptlet cannot access the value of resultRow:
    <jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
    <%
    session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
    %>Workaround: Add a line of code at the beginning of the scriptlet to explicitly get the variable's value from the page context, for
    example:
    <jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
    <%
    resultRow = (oracle.jbo.Row)pageContext.findAttribute("resultRow");
    session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
    %>
    What we plan to do
    To address issue 1, we're currently testing a utility that installs the BC4J runtime libraries to OC4J, and provides a script to start OC4J with the correct classpath. We plan to post this by the end of this week, along with instructions for deploying a BC4J application to OC4J; deployment will be a lot simpler after running the utility.
    To address issues 2 and 3, we're working on a second utility that installs BC4J runtime and provides a fix to the JSP compiler. We plan to post this second utility by the end of next week.
    We do apologise for the problems you're having; please bear with us as we work on making it easier for you to deploy BC4J applications to OC4J.
    Thanks
    Blaise

    Hi, I have been trying desparately to deploy
    a simple example JDeveloper application for months and months.
    I HAVE NEVER BEEN SUCCESSFUL IN DEPLOYING ANYTHING.
    I don't know much about webservers and I am relying
    on the instructions from JDeveloper help and this website.
    I have already tried Apache, and WebLogic
    because there are instructions in the JDev help.
    No luck.
    Now I am trying to use OC4J on 9ias because there are instructions.
    I have read the instructions about how to install a BC4J
    app on OC4J about 25 times, but I can't get this thing to work.
    It works fine inside of JDeveloper.
    I create a BC4J project using the scott
    schema (just the dept and emp tables).
    Then I create an empty project for my JSP client.
    I choose JSP Application from the web
    objects and it connects to my BC4J project.
    As I say, when I run it in JDeveloper, there is no problem.
    In the instructions for installing BC4J
    in OC4J, it first says install JDev 3.2.3 and OC4J.
    This is done, and it tested fine.
    Then it says to install the deployment software.
    No problem.
    But when I deploy the app according to the instructions,
    it just hangs (like Rick Wang's program did).
    The main.jsp page loads and displays correctly,
    but when I click on the links to the DeptView.jsp
    or EmpView.jsp it just hangs.
    Here is the entire batch file I'm using
    to start OC4J: cd c:\oracle_9ias\j2ee\home
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\default-web-app\lib
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\classes
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\classes12.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\xmlparserv2.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jdev-rt.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbojdbcpatch.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\connectionmanager.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbohtml.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboimdomains.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordim817.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordvir817.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordhttp.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbomt.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodomorcl.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboremote.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jndi.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodatum12.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\al_BC4J.jar
    java -cp C:\oracle_9ias\j2ee\home\orion.jar;%CLASSPATH%
    com.evermind.server.ApplicationServer
    pause
    The file al_BC4J.jar contains my application.properties file
    and my connections.properties file, as well as my business components.
    All of the files referenced in my classpath are
    present in my c:\oracle_9ias\j2ee\home\lib directory.
    I noticed that Raghu's classpath contains a file called jdev.jar
    So does the classpath of another fellow who says
    he was successful in deployment (his name is Jeffrey Jackson).
    I searched my JDev_3.2.3 for this file and found it nowhere.
    I also searched my OC4J home and my 9iAS for this file and
    found it nowhere.
    It is nowhere on my C:\.
    Is this file necessary?
    I will also try removing my application.properties file
    and my connections.properties file from my BC4J .jar file
    and put them in a separate .jar file at the root level (as Raghu did).
    However, Jeffery Jackson did not do this and says he was
    successfull in deployment.
    ***DO I NEED TO JAR UP ANY OF MY THE FILES FROM the JSP
    FOLDER IN JDevHome\myhtml???***
    ***or place them in the classpath?***
    I have read over all of the discussions at: http://technet.oracle.com:89/ubb/Forum2/HTML/008232.html
    and http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html
    many, many times.
    Can anyone help me?

Maybe you are looking for