JSP/JSTL equivalents to PHP

Hello all. I was recently advised by another forum member to use JSTL to develop a system I am developing which is web based and accesses an Oracle Db.
I am familiar with basic PHP in that you can define functions like register_user or login etc, whatever it may be, you write the code and process the data then out put it - all in that PHP (or another).
You can "include" other PHP files to be loaded that provide functionality when another file is loaded, like, functionality to connect to a database or whatever it might be.
Now I know I can do the same using JSP and JSTL, I know I can use the <jsp:import directive to import JSPs. To provide functionality, should I create custom tags that contain java "scriptlets" (for want of a better word) and then call these tags to process whatever they process ?
Or can I do something similar to PHPs, create some methods, say , some Db manipulation methods, bundle them all in a DbFunc.jsp for example, include that file to be loaded prior to accessing it's functions and then call these methods from within the JSP file that I am using ??
There will be a small finite set of functions (initially), login function, insert data function, edit data function, register user, communicate with another user function, delete data function, search for user function and search for data function. I can work out the java/JSTL coding for these, I'm just not sure how to store the code, servlet, scriptlet, JSP, tagfile, Bean etc etc. I'm confused. HELP !
Message was edited by:
MrVenjer
Message was edited by:
MrVenjer

Well the standard MVC approach would be to handle any of those "functions" you defined with Servlets. You may want to look up terms like "MVC", "Model2". [url http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html]link
Servlets/beans should handle the actions like registering/logging in/loading/saving.
When the servlet has done its action, it should then forward to a jsp to display the result.
Or can I do something similar to PHPs, create some methods, say ,
some Db manipulation methods, bundle them all in a DbFunc.jsp Java/JSP is not like php in this regard. Rather you should define methods in a java bean/class. There should be no scriptlet code required on a JSP.
With DBAccess, one pattern to follow is the DAO, or DataAccessObject pattern. That bundles all your load/save code into one java class. YOu would normally call these methods from a servlet rather than a JSP.
Hope this helps,
evnafets

Similar Messages

  • How to use a session, created in a jsp page, in a php page

    Hello, forgive me for the newbie question.
    Here is my problem:
    I want to have a jsp page create a session, set some session variables and then redirect to a php page which will access those same session variables.
    I have the redirection worked out, but I can't seem to find out how to use the jsp session in my php script.
    Is this possible at all, and if so, how does it work?

    Note that javascript runs on the client side, and JSP runs on the server. JSP and the session objects are NOT available to javascript in reaction to the user.
    If this function is called only when the page is first created, not when the user interacts with the page, or if you want that value to be constant with respect to the javascript, then you can do this:
    <%
      String someValue = (String)session.getAttribute("theAttributeName");
    %>
    <script type="text/javascript">
         Calendar.setup({inputField:"f_date_dfFirstPmtDate",
                                              button:"f_trigger_dfFirstPmtDate",
                                             singleClick:true,
                                              ifFormat:<%=someVale%>});
    </script>

  • Class not found javax.servlet.jsp.jstl.sql.Result in Richfaces

    When I try to run the richfaces application using Weblogic 10.3 AS and Netbean IDE 6.9.1, I found ClassNotFoundException on javax.servlet.jsp.jstl.sql.Result class.
    I class path the following libs.
    commons-beanutils-core-1.8.0.jar
    commons-digester-1.8.jar
    commons-fileupload-1.2.1.jar
    commons-io-1.2.jar
    commons-logging-1.1.1.jar
    glassfish.el_2.1.1.jar
    glassfish.jsf_1.2.9.0.jar
    javassist-3.8.0.GA.jar
    jhighlight-1.0.jar
    jsf-facelets.jar
    jsf-api.jar
    log4j-1.2.14.jar
    richfaces-api-3.3.0.GA.jar
    richfaces-impl-3.3.0.GA.jar
    richfaces-ui-3.3.0.GA.jar
    glassfish.jstl_1.2.0.1.jar
    Also I try to deploy without using some jar files already exists in application server.
    My web.xml configuration is-
    <context-param>
    <param-name>org.richfaces.SKIN</param-name>
    <param-value>#{skinSelector.skin}</param-value>
    </context-param>
    <context-param>
    <param-name>org.richfaces.CONTROL_SKINNING</param-name>
    <param-value>enable</param-value>
    </context-param>
    <context-param>
    <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
    <param-value>com.sun.facelets.FaceletViewHandler</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    </context-param>
    <context-param>
    <param-name>org.ajax4jsf.SKIN</param-name>
    <param-value>skin_name</param-value>
    </context-param>
    <filter>
    <display-name>RichFaces Filter</display-name>
    <filter-name>richfaces</filter-name>
    <filter-class>org.ajax4jsf.Filter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>richfaces</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <login-config>
    <auth-method>BASIC</auth-method>
    </login-config>
    <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    I also try to configure <library-ref>....</libray-ref> configuration in weblogic.xml and weblogic-application.xml and I also deploy JSF-2.0.war as library in application.
    Please
    h5.MUTU

    So why didn't you think that the JSP forum here wasn't a good place to ask JSP questions like this one?
    You can use <c:for-each> with a List. That's how it's designed. I don't understand why you say you can't. Perhaps you were confused by the SQL tags in JSTL. But anyway, you should just return a List from your EJB and forget about using obscure internal JSP classes.

  • Should I use JSP,JSTL,SERVLETs without a framework?

    Hi Guys
    I'm making a multi player browser game. The game will have some forms to setup data into the database and the player will be able to check other players data.
    I will load the players data from the DB into a Bean when the application starts and then just get the other players information from DB when and if asked.
    I'm planing on doing it as MVC2 using JSP, JSTL, SERVLETs, BEANs
    Would you recommend me to use Struts for example? should I just use it without any framework?
    I read a lot about Struts and can't really see what it can bring to an application like mine. I can use the i18n easily with JSTL and for few validation of forms I don't know if it's worth it.
    What do you think? (-:
    Thanks in advance
    (-:

    If your going to use MVC2 then I would use a framework, otherwise where are you going to get your MVC from, were you planning on writing an MVC yourself?

  • Servlets , JSP, JSTL ,etc

    Hello
    In my Web project , I have used servlets, JSP , JSTL and JDBC to develop a Website, and now I am preparing a report about it.
    Please forgive me if this question sounds "not very smart" , but kindly help. Is it correct to mention in my report I have used J2EE techologies and then briefly explain about JSP, Servlets, etc?
    Thank you
    Vajra

    Well this really depends on what purpose your report serves and what the person/organization you're submitting your report to requires.
    What have you been told to do? Do you have any template that you need to follow?
    If you don't have any, then I guess you could add a section on the technology used and add a brief description covering this.
    But really, this totally depends on your situation and requirements. No one can tell you what to do. And you wouldn't blindly follow advice given by anonymous strangers on an Internet forum for an important project report now would you? :D

  • Previous Page's URL in JSP/JSTL

    Dear Sirs,
    Could you please advice me how I could get the previous page's url( ie, the page the the user was visting before coming to the current page) in JSP/JSTL..
    Thank you in advance

    You mean the referrer? You can just get it from the HTTP header.
    String referrer = httpServletRequest.getHeader("referer"); // Yes, with the legendaric misspelling.

  • JSP/JSTL & XML

    I am trying to have JSP pages parse and read an XML file and then return some data in an HTML table. I'm using the JSTL libraries and have a basic understanding of them, but I apparently need help.
    My first page just gets the value and passes it to the second page. The second page handles all of the processing. Here is my JSP page:
    <%@page contentType="text/html" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
    <%@include file="index.jsp" %>
    <% String clientID = request.getParameter("enteredID"); %>
    <c:import url="npiXMLTest5.xml" var="doc" />
    <x:parse varDom="dom" doc="${doc}"/>
    <x:set var="srcCID" select="string($dom/npiNumbers/client/clientNum)" />
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>NPI XJTL Test</title></head>
    <body>
    <c:set var="CID" value="<%= clientID %>" />
    <h2>NPI XJTL Test Page</h2>
    <table border="1">
    <tr><th>NPI Number</th><th>Description</th></tr>
    <c:choose>
    <c:when test="${CID}=${srcCID}">
    <x:forEach select="$dom/npiNumbers/client/npiNum" var="$n">
    <tr><td><x:out select="$n/npi" /></td><td><x:out select="$n/desc" /></td></tr>
    </x:forEach>
    </c:when>
    <c:otherwise>
    There is an error with your coding
    </c:otherwise>
    </c:choose>
    </table></body></html>My XML structure is as follows:
    <npiNumbers xsi:schemaLocation="http://localhost/namespace NPI_XSD5.xsd" xmlns="http://localhost/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <client>
    <clientNum/>
    <clientName/>
    <npiNum>
    <npi/>
    <desc/>
    </npiNum>
    </client>
    </npiNumbers>I am trying to return the results of the <npiNum> element (which can have multiple values) - <npi> and <desc> - in a table based on the <clientNum> element. I try to evaluate the page variable with the xml element. If it matches, I will return a table. A client can have multiple <npiNum> elements, so the construction of the table is in the x:forEach loop.
    I think my problem is getting the variable from JSP to compare against the <clientNum> element in the XML file.
    Any ideas?

    I think your problem is less JSP/JSTL and more querying the XML.
    You are trying to "select all <npinum> elements from a client based on clientnum"
    I am far from an expert on XPath, but I think the following query is what you are after: "/npinumbers/client[clientNum=????]/npiNum"
    To do that with JSTL you would replace ???? with $param:enteredId or $CID (equivalent in your example)
    Here is the resulting JSP page.
    <%@page contentType="text/html" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
    <c:import url="npiXMLTest5.xml" var="doc" />
    <x:parse varDom="dom" doc="${doc}"/>
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>NPI XJTL Test</title></head>
    <body>
    <c:set var="CID" value="${param.enteredId}" />
    <h2>NPI XJTL Test Page</h2>
    <table border="1">
    <tr><th>NPI Number</th><th>Description</th></tr>
    <x:forEach select="$dom/npiNumbers/client[clientNum=$CID]/npiNum" var="n">
      <tr><td><x:out select="npi" /></td><td><x:out select="desc" /></td></tr>
    </x:forEach>
    </table>
    <hr>
    <form>
    <input type="text" name="enteredId"/>
    <input type="submit">
    </form>
    </body></html>I made up the following test file to use with it. I don't know if it was exactly what your requirements are, but it was a best guess based on your info.
    <npiNumbers>
         <client>
              <clientNum>42</clientNum>
              <clientName>Ford Prefect</clientName>
              <npiNum>
                   <npi>123</npi>
                   <desc>life</desc>
              </npiNum>
              <npiNum>
                   <npi>234</npi>
                   <desc>universe</desc>
              </npiNum>
              <npiNum>
                   <npi>456</npi>
                   <desc>everything</desc>
              </npiNum>          
         </client>
         <client>
              <clientNum>666</clientNum>
              <clientName>Satan</clientName>
              <npiNum>
                   <npi>333</npi>
                   <desc>Baby Devil</desc>
              </npiNum>
         </client>
    </npiNumbers>Cheers,
    evnafets

  • What is the JSp equivalent method for PHP isset function

    Hai guys,
    can u tell me the JSP equivalent method for PHP isset function.

    isset checks what? parameters?
    if(request.getParameter("paramname") != null) {                                                                                                                                                                               

  • JSP/JSTL configuration

    I realize this is an often repeated topic. But, after having reviewed some threads on configuring this I still have the same issue.
    Must be missing something easy.
    I am using Tomcat 6.x and working with Spring 2.5 and trying to get my JSP's to use JSTL 1.1.2.
    The standard.jar and jstl.jar are both in the WEB-INF/lib of my application.
    I am getting the following error...
    /index.jsp(1,1) The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
         org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)Here is my web.xml declaration.
    <web-app version="2.4"
             xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >Here is the include.jsp URI's
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>What am I doing incorrectly? Thanks for your help!

    From what you have shown here, you aren't doing anything wrong as far as I can tell.
    The error message is reporting it can't find a tld that declares that uri.
    That would imply that the tld file is not there - ie it can't find standard.jar in the classpath
    Make sure you downloaded the correct version of JSTL.
    JSTL1.1: [jakarta site|http://jakarta.apache.org/site/downloads/downloads_taglibs-standard.cgi]
    JSTL1.2: [java.net / glassfish|https://jstl.dev.java.net/download.html]
    Either should work with Tomcat6.
    You say you have the jar files in your WEB-INF/lib directory.
    Open standard.jar with any standard zip tool.
    You should be able to see a number of .tld files in this zip file. eg c.tld, c-1_0.tld
    Take a look at the MANIFEST.MF file to see what version you have, and what specification it implements.
    Is your WEB-INF/lib directory in the right place? Where does it sit in relation to the Tomcat webapps directory?
    cheers,
    evnafets

  • Deployment error - Missing class: javax.servlet.jsp.jstl.core.Config

    Hi,
    We are using JDeveloper 10.1.3.0.4(SU5) on windows for development of ADF application. We need to deploy the developed application onto Oracle Application Server 10g (10.1.3) which is running on Solaris. We are using BC4J, WAR and EAR deployment profiles in jdeveloper to create the .war and .ear files.
    If I deploy the generated ear on a standalone OC4J server install on my windows PC, it works fine.
    Now when I deploy the generated .ear file onto the Oracle Application Server 10.1.3 through Application Server Control interface and then try to access the jspx pages under our application we are getting following error:
    oracle.classloader.util.AnnotatedNoClassDefFoundError:      Missing class: javax.servlet.jsp.jstl.core.Config     Dependent class: com.sun.faces.application.ViewHandlerImpl     Loader: accaweb.web.accaweb:0.0.0     Code-Source: /oracle/app/oracle/product/10gas3/j2ee/home/applications/accaweb/accaweb/WEB-INF/lib/jsf-impl.jar     Configuration: WEB-INF/lib/ directory in /oracle/app/oracle/product/10gas3/j2ee/home/applications/accaweb/accaweb/WEB-INF/libThe missing class is available from the following locations:     1. Code-Source: /oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib/jstl.jar (from WEB-INF/lib/ directory in /oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib)      This code-source is available in loader default.web.defaultWebApp:0.0.0.      at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2051) [oracle/app/oracle/product/10gas3/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@1482257]
    I have confirmed that the .war file inside the .ear file does contain the jstl.jar file under WEB-INF/lib folder. And the jar file does contain the class 'javax.servlet.jsp.jstl.core.Config'
    As a workaround, I found that if I copy the jstl.jar file from default-web-app to my application web-inf/lib folder, things start to work fine. ie copy from: '/oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib/jstl.jar'
    to: '/oracle/app/oracle/product/10gas3/j2ee/home/applications/accaweb/accaweb/WEB-INF/lib/'
    – or –
    Another workaround is to add the '/oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib/jstl.jar' file in the classpath for my web application through Application Server Control setting page.
    Now both of these workaround needs us to perform additional post deployment steps which should really not be required since the jar files is included in the project.
    Has anyone faced this issue? Any pointers in this respect will be a great help.
    regards - rutwik

    Surprise Surprise !
    I just tried deploying the file via uploading it from the Application Server Control UI and it worked fine.
    Till now, I was ftp'ing the ear file from my PC to the server on which Oracle AS is running and was telling Application Server Control to pick form that uploaded location.
    I am still not clear on why it works with HTTP upload and not via the FTP upload?
    cheers - rutwik

  • ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTagStatus

    In JSF2, writing facelets I tried to use <ui:repeat> tag instead of <c:forEach> - JSTL tag.
    I get -> java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTagStatus
    Here is my facelet snippet ...
    <ui:repeat value="#{historyCenterManagedBean.purchases}" var="order" >
             <tr>
                 <td>
                    #{order.totalPriceBeforeDiscounts}:
                 </td>
                 <td>
                    #{order.person.firstname}
                  </td>           
             </tr>
        </ui:repeat>I am not sure why am I getting it. Any help is appreciated.

    Hmm, Thanks Ryan. I am still confused.
    I am not clearly understanding why would c:forEach fail? And this is happening after the nightly build jar of 20091216
    for example this is we have:
    <c:forEach var="partner" items="#{contentPartnersManagedBean.allAuthorizedContentPartners}" >
        <tr>
              <td><a href="#{contextPathManagedBean.contextPath}/about_us/providers_detail.jsf?pID=${partner.partnerId}"
                     class="# {portalSkinManagedBean.contentPortletSkin.normalTextStyle}">${partner.partnerName}
                     </a>
              </td>
       </tr>
    </c:forEach>This is the exception:
    javax.servlet.ServletException: javax/servlet/jsp/jstl/core/LoopTagStatus
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.legaledcenter.util.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:250)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.jscape.framework.galileo.support.upload.UploadFilter.doFilter(UploadFilter.java:71)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         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:293)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: javax.faces.view.facelets.FaceletException: javax/servlet/jsp/jstl/core/LoopTagStatus
         at com.sun.faces.facelets.tag.AbstractTagLibrary$UserComponentHandlerFactory.createHandler(AbstractTagLibrary.java:303)
         at com.sun.faces.facelets.tag.AbstractTagLibrary.createTagHandler(AbstractTagLibrary.java:672)
         at com.sun.faces.facelets.tag.CompositeTagLibrary.createTagHandler(CompositeTagLibrary.java:177)
         at com.sun.faces.facelets.compiler.TagUnit.createFaceletHandler(TagUnit.java:113)
         at com.sun.faces.facelets.compiler.CompilationUnit.getNextFaceletHandler(CompilationUnit.java:108)Thanks for responding.

  • ClassCastException: javax.servlet.jsp.jstl.fmt.LocalizationContext

    today i had the following exception, which blows my mind away. what can be wrong?
    java.lang.ClassCastException: javax.servlet.jsp.jstl.fmt.LocalizationContext
         at org.apache.taglibs.standard.tag.common.fmt.BundleSupport.getLocalizationContext(Ljavax.servlet.jsp.PageContext;)Ljavax.servlet.jsp.jstl.fmt.LocalizationContext;(BundleSupport.java:127)
         at org.apache.taglibs.standard.tag.common.fmt.MessageSupport.doEndTag()I(MessageSupport.java:152)
         at jsp_servlet._web_45_inf._jsp._templates.__template._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(__template.java:235)environment: weblogic 8.1-sp4, jstl 1.0.6

    well the fact is that the JSPs are 100% correct. i'm migrating some legacy project, which builds, deploys and runs in its old state with no errors at all (and the old state is current PRO, so every bit of code is supposed to be correct). hence i presume it's not the JSPs that are wrong (because i never touched them), that's something else, probably the configuration of things, or conflicts between container libs and webapp libs, or sort of like that.
    so if this error doesn't ring a bell, then i'll try to fiddle around, i thought maybe that's something "famous" :).

  • JSP, JSTL and XML Exception

    Hi,
    I'm using tomcat 5.0.28 with J2SE5, JSP and JSTL. I tried to execute the following example about JSTL and XML.
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
    <c:import url="book.xml" var="url" />
    <x:parse xml="${url}" var="book" scope="session" />
    <x:choose>
    </x:choose>
    <P>
    <B><x:out select="$book/book/title"/></B><BR>
    <x:out select="$book/book/author"/><BR>
    <x:out select="$book/book/url"/><BR>When I execute the jsp file, the container produces following exception:
    javax.servlet.ServletException: org/apache/xpath/XPathException
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
         org.apache.jsp.xml.xml_005fchoose_jsp._jspService(xml_005fchoose_jsp.java:104)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    java.lang.NoClassDefFoundError: org/apache/xpath/XPathException
         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:1634)
         org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
         java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
         org.apache.taglibs.standard.tag.common.xml.WhenTag.condition(WhenTag.java:51)
         org.apache.taglibs.standard.tag.common.core.WhenTagSupport.doStartTag(WhenTagSupport.java:65)
         org.apache.jsp.xml.xml_005fchoose_jsp._jspx_meth_x_when_0(xml_005fchoose_jsp.java:203)
         org.apache.jsp.xml.xml_005fchoose_jsp._jspx_meth_x_choose_0(xml_005fchoose_jsp.java:169)
         org.apache.jsp.xml.xml_005fchoose_jsp._jspService(xml_005fchoose_jsp.java:84)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Due to the fact, that org/apache/xpath/XPathException belongs to xalan, i copied the xalan 2.7.0 to the web-inf/lib directory. But this doesn't solve the problem. I'm tried it also with xalan, xerces and jaxp. Again, it doesn't work.
    Can anybody help me with this problem?
    bye

    Couple of things, possibly unrelated, but not sure.
    You are using JSTL1.0 uris.
    With Tomcat5 you can use JSTL1.1, and the Servlet2.4 spec.
    You would use the URI: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    and also update your web.xml file to declare itself as version 2.4
    You shouldn't need any of the xalan xerces or jaxp classes in web-inf/lib.
    xerces is by default found in the [TOMCAT]/common/endorsed directory.
    The others should be provided with the standard java API.
    I would try with minimal jar files in web-inf/lib
    Occasionally if you include files twice in the classpath it will create ClassNotFoundExceptions like this.
    Hope this helps,
    evnafets

  • JSTL javax.servlet.jsp.jstl.core.Config strange lookup

    Hi everyone !
    Could someone explain me this code in the class javax.servlet.jsp.jstl.core.Config :
    public static Object get(PageContext pc, String name, int scope) {
    switch (scope) {
         case PageContext.PAGE_SCOPE:
         return pc.getAttribute(name + PAGE_SCOPE_SUFFIX, scope);
         case PageContext.REQUEST_SCOPE:
         return pc.getAttribute(name + REQUEST_SCOPE_SUFFIX, scope);
         case PageContext.SESSION_SCOPE:
         return get(pc.getSession(), name);
         case PageContext.APPLICATION_SCOPE:
         return pc.getAttribute(name + APPLICATION_SCOPE_SUFFIX, scope);
         default:
         throw new IllegalArgumentException("unknown scope");
    Why adding a suffix when calling PageContext.getAttribute(String, int) ?
    This could lead to potential problems... For example, in my web application I want to share a single ResourceBundle for each JSP page and I would like to use <fmt:message/> tag to resolve my messages.
    For this purpose I added a LocalizationContext in my servlet context attribute in its init method:
    ResourceBundle bundle = ....
    LocalizationContext context = new LocalizationContext(bundle);
    servletContext.setAttribute(Config.FMT_LOCALIZATION_CONTEXT, context);
    Thus, the <fmt:message/> will be able to resolve the messages from this LocalizationContext...
    Unfortunately, this will never happen because the implementation of this tag call somewhere Config.find(PageContext, String) that will call the Config.get(PageContext, String, int) method....
    A quick fix would be to replace the name of the servlet context attribute :
    servletContext.setAttribute(Config.FMT_LOCALIZATION_CONTEXT + ".application", context);
    Could someone tell me if it is a bug ? A bug of the Message tag implementation ? A bug in JSTL code ? Or am I doing all wrong ?
    Note : I'am using a servlet 2.4/JSP 2.0 compatible application with the jstl 1.2 core library and the jakarta standard 1.1.2 implementation library. I'am using Jetty to test my application with Jasper as the JSP compiler...

    This is an internal decision made by JSTL as to how it stores its configuration values.
    The reason they have given here for the suffixes being added is to treat the four scopes as different namespaces, so that there can be no confusion between them.
    I'd say your mistake is trying to set this value into the attribute space yourself rather than using one of the defined interfaces for JSTL to do it - in web.xml, or using the Config class.
    I guess that would make your code
    Config.set(servletContext, Config.FMT_LOCALIZATION_CONTEXT, context); Using their interface for setting this attribute adds the required suffix automatically.
    Cheers,
    evnafets

  • Javax.servlet.jsp.jstl.sql.Result and arraylist

    Hi,
    I try to explain my problem, I have posted in another section of forum, but perhaps this is a better place:
    I'm trying to use MVC model, so I call an EJB from a servlet which returns me a javax.servlet.jsp.jstl.sql.Result object (this derive from a resultset of a query) and then I make this available to a jsp page.
    I've choosen to return an javax.servlet.jsp.jstl.sql.Result object because I'd like to use this syntax:
    <c:forEach var="profiloString" items="${listaProfili}" >
              ${profiloString.anything}
    </c:forEach>Now I need to put my listaProfili object in session and permit users of my application to add and delete items from it. Finally I will update my database with the new data from listaProfili object.
    If listaProfili is an arraylist I can easily add or delete item from it, but if it is a javax.servlet.jsp.jstl.sql.Result I don't know how I can do this.
    If I return an arraylist object instead of an javax.servlet.jsp.jstl.sql.Result object, I can't use "<c:forEach ..." syntax.
    Can anyone help me?
    Thanks.

    So why didn't you think that the JSP forum here wasn't a good place to ask JSP questions like this one?
    You can use <c:for-each> with a List. That's how it's designed. I don't understand why you say you can't. Perhaps you were confused by the SQL tags in JSTL. But anyway, you should just return a List from your EJB and forget about using obscure internal JSP classes.

Maybe you are looking for

  • Error while running survlet: http status 505

    Hii all, I have a problem in running servlet from my Firefox and I am using Tomcat 5.5.25. I having a problem in deploying the servlet. I ran my servlet as:http://localhost:8085/log?user_name=******&password=***** Servlet Maping looks like this: <?xm

  • No sound when playing video from organizer in PSe 4.0

    I am currently having a problem with previewing video in the organizer in Photoshop Elements 6.0.  The problem is that there is no sound.  I thought something went wrong during the import of these videos from the camcorder to the PC hard drive (impor

  • Reg Row Selection in a Table UI Element

    Hi All, Can anyone help me in writing code to select a row from a table. I need to read the data from a row selected in a table and print it in the next page of my application. I request anyone to send me some coding line on how to select a row from

  • Why can't I use paid for song in FCPX project?

    Trying to use songs that I've purchased from iTunes in project.  Tried posting this question yesterday to find a work-around, but my posting was removed by a moderator.  I'm just trying to understand the reasoning. Thanks for any insight. Midge

  • Portal context menu change translation

    Hello, I want to change some portal context menu (when executing wad template) text in french. The translation is not very good some times. I think it is possible to change it in a par file. But I don't how to find the par file to change. Is it possi