Expression Language in Tomcat

I'm experimenting with Tomcat 5.0.16. It does not interpret Expression Language script. Do I need to enable it somewhere?

You should have a commons-el.jar in the common/lib or shared/lib folder. That jar contains the JSP 2.0 Expression Language stuff.
To import the core JSTL library into your page in Tomcat 5 (JSP 2.0 container) :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Similar Messages

  • Help needed in JSP Expression Language

    Hi all,
    I have been working for JSP Expression Language Sample execution since past 5 days. I am using the application server as "Jboss Server" and web server as "Tomcat".
    I have been included the jsp-api.jar file in my lib directory of application server as well as source folder's lib directory.
    When i am trying to build the source code, i am getting this build error.
    [javac] D:\eclipse\workspace\esolvProject\development\src\com\esolv\taglibs\
    web\classes\SetSupport.java:186: cannot resolve symbol
    [javac] symbol : method getExpressionEvaluator ()
    [javac] location: class javax.servlet.jsp.PageContext
    [javac] ExpressionEvaluator evaluator = pageContext.getExpressionEvaluator();
    In my jsp-api.jar , there are two classes called,
    PageContext and JspContext, Both are abstract classes.
    PageContext inherits JspContext class. JspContext class have the method getExpressionEvaluator() , returns ExpressionEvaluator.
    PageContextImpl - class . it has been called internally when we are trying to call PageContext class. In PageContextImpl class, there is one comment before, the method's definition. that is
    " Since JSP 2.0 "
    But we have the JSP 2.0 version. But it won't work.
    Please help me ont this.
    Thanks in Advance,
    Natraj

    >
    If the pblm was due to setting the classpath.
    The error should be showed for all files in the jar
    file.
    why i am getting the error for particular method ?
    it is accessing the other methods of same class
    'JspContext' . but it is not accessing that method.
    Thats my question.
    Just check that your .jar file is 2.0 compliant and that you do not have any other jars(for servlet or jsp api) in the classpath.
    Probably you have an older version of .jar file in your path. So the errors will appear only for those methods that have been added since 2.0, all other methods would compile fine.
    Please tell me the jar files to work out the
    expression language. so that i can cross check my
    list of jars.Hmmm...I dont use jboss. In tomcat the jar file name is jsp-api.jar. But it would have been the same even for jsp1.1, going by jar file names wouldnt help. Just look at your cp as if with a microscope to identify redundant jars.
    cheers,
    ram.

  • {Expression Language} not working tomcat5 j2se 1.5_beta

    I m new to JSP technology. I m trying to use expression language in my application and it's not letting me do the job.
    simple program
    <head> <body>
    Hi there! 3 + 3 is ${3+3}
    </body></head>
    It just shows " Hi there! 3 + 3 is ${3+3} " as the output. I tried google search. it seems the problem is across many networks like in bea weblogic etc.,
    when i used <%@page isELEnabled="true" > i get an error saying attribute isELEnabled not recognised or something like that. My web.xml hasn't got any setting for jsp so I don't know where the "*.jsp" section is available, just in case that needs any touchup.
    I have installed JSTL under /common/lib dir. but i think this library is not required for using basic EL.
    So, can anyone help me configure my JSP page so that i can use EL tags in them.
    OS: Windows 2000
    Tomcat ver: 5
    J2Se: 1.5 beta

    Hmmm. Looks like I didn't make myself clear enough.
    You still have the declaration DTD for servlet 2.3 at the top of your web.xml.
    To enable EL using Tomcat 5 you only need to do ONE of the following:
    1 - update your web.xml file to have the header for the 2.4 version (note its not a DTD anymore)
    2 - if your web.xml uses the DTD from version 2.3, include the page directive <%@ page isELIgnored="false" %> on any pages
    Basically the rules for executing EL are as follows:
    1 - Is there a directive on the page? If yes, then enable/disable according to the directive.
    2 - Is there an entry in web.xml for handling EL? If yes then enable/disable according to the setting
    3 - Is the web.xml file for the Servlet 2.4 spec? (ie does it start have the version 2.4 header) Yes = enable EL No = disable EL
    The easiest way of enabling EL is updating your web.xml to be compliant with the latest servlet spec.
    Cheers,
    evnafets

  • Expression Language in JSP w/ JSTL

    Does expression language decrease performance on the page?

    I was browsing the forums and i came across
    http://forum.java.sun.com/thread.jspa?threadID=349876&messageID=1450081
    The only difference is that I'm using Tomcat 5.0...
    Our pages are running slow and we can't figure out what's wrong...

  • Problem in accessing object using Expression Language

    Hello All,
    Im using Tomcat 5.5 and I am learning Expression language.Im using one servlet page as login.java i.e,
    package common;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import Database.DatabaseObject;
    import valueobjects.login1;
    public class login extends HttpServlet {
         public static final long serialVersionUID = 8707690322213556804l;
         public void doPost(HttpServletRequest req, HttpServletResponse res) {
              String name = req.getParameter("username");
              String password = req.getParameter("password");
              RequestDispatcher dispatch = null;
              ResultSet rs=null;
              Statement st=null;
              login1 log=null;
              Connection con = null;
              String sql=null;
              try
              con=new DatabaseObject().getConnection();
              st = con.createStatement();
              sql="select * from login";
              System.out.println(sql);
              rs=st.executeQuery(sql);
              while(rs.next())
                   log=new login1(rs.getString("User_Name"),rs.getString("user_Password"));
              req.setAttribute("login",log);
              req.setAttribute("username",name);
              req.setAttribute("password",password);
              dispatch = req.getRequestDispatcher("/jsps/el.jsp");
              dispatch.forward(req, res);
              catch(Exception e)
                   e.printStackTrace();
    That login1 customized object is set as ,
    package valueobjects;
    public class login1{
         String Name;
         String Password;
         public login1(String name, String password) {
              super();
              // TODO Auto-generated constructor stub
              Name = name;
              Password = password;
         public String getName() {
              return Name;
         public void setName(String name) {
              this.Name = name;
         public String getPassword() {
              return Password;
         public void setPassword(String password) {
              this.Password = password;
    then im using one jsp as el.jsp that is,
    <%@ page isELIgnored="false"%>
    <%@ page import = "java.util.*,valueobject.*"%>
    <html>
    <jsp:useBean id="login" class="valueobjects.login1">
    <jsp:setProperty name="login" property="name" value="username"/>
    <jsp:setProperty name="login" property="password" value="password"/>
    </jsp:useBean>
    <body>
         <center>
         username=${login.Name}<br><br>
         </center>
    </body>
    </html>
    but when i execute this code it is giving error as
    /jsps/el.jsp(4,0) The value for the useBean class attribute valueobjects.login1 is invalid.
    But that login1.java is in correct package that is valueobjects.but im not getting why it is giving such error.Plz help me.

    hi
    to use java bean u MUST follow the two conviosions:
    1. the class u want to make a bean from it must have no-argument constructor
    2. u must provide setter and getter for every instance variable , the name of instance varible must begin with small letter and its setter and getter must be like setXxx() and getXxx()
    the correct bean is :
    package valueobjects;
         public class login1{
         String name;
         String password;
         public String getName()
                   return name;
         public void setName(String name)
                   this.name = name;
         public String getPassword()
                    return password;
         public void setPassword(String password)
                    this.password = password;
         }where is my duke's $ ???

  • Enable Expression Language JSP2.0

    how do you enable Expression language (eg. ${1 + 1}) in JSP pages using Tomcat5 alpha? The examples that come with Tomcat have it enabled, but when I create my own application context it isn't enabled.
    Thanks for any help.
    duke

    I am having the same problem: I'm running Tomcat 5.0.4. All the shipped JSP and JSP2 samples work nicely. When I try the same, the EL expressions are not evaluated (the compiled JSP shows that it simply literally outputs any EL expression). I have compared the web.xml files but I cannot make it work. I suppose I am missing some switch to enable the evaluation of EL expressions.
    Any help is greatly appreciated.
    Heiko

  • JSP/Expression Language in Web AS 6.40

    Hello
    We are trying to port a Servlet/JSP Application from Tomcat to SAP Web AS. It's based on Spring/Hibernate and we are heavily using JSP with Expression Language and JSTL.
    The first problem i had with the "c:forEach" tag, was solved by using the "core" taglib instead of the "core_el" taglib (which means JSTL without Expression Language seems to work)
    As i found out SAP Web AS 6.40 complies to the J2EE 1.3 Standard. Therefore it supports JSP 1.2 and not JSP 2.0 with Expression Language EL.
    Despite not supporting the current JSP Standard, is there any possibility to get JSP Pages with Expression Language running on Web AS 6.40?
    If no, is it planned to support JSP 2.0 in future versions of Web AS and when is it scheduled?
    Thanks for answers
    Sigmar

    Sigmar,
    there is already released light version of J2EE engine including J2EE1.4...You can have a look at the begin page of the SDN, or directly download it by link :
    https://www.sdn.sap.com/irj/sdn/downloaditem?rid=/webcontent/uuid/64919927-0b01-0010-e9bf-d1570518023d [original link is broken]
    As bonus it includes Java EE 5 preview
    Regards
    Bojidar

  • Expression Language not getting evaluated

    I am trying a sample on tomcat 5.03. The expression Language construct is not getting evaluated.
    for eg
    <c:out value="${customer.age}" />
    simply prints the text ${customer.age} .
    Whats wrong ?
    Thanks
    Ashwani

    You probably have an old doctype for your web.xml file.
    Your web.xml needs to start like this:
    <web-app 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" version="2.4">It should NOT have this
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">Basically if it sees anything less than version 2.4 in the web.xml file, it will disable EL expression language for your JSP pages. This is for backwards compatibility with existing web apps.
    To fix - remove the doctype definition, and use the new one.
    alternative: put this on your jsp page:
    <%@ page isELIgnored="false" %>That will fix it for this page. Fixing the web.xml should fix it for all pages.
    Cheers,
    evnafets

  • JDeveloper ADF Faces Problem: Expression language

    Error(): Expression Language not supported in compile time attribute test
    I have followed an ADF Faces example from the Oracle Website. Concerning a database + ADF Faces
    http://www.oracle.com/technology/pub/articles/cioroianu_jsfadf_v4.html
    I followed the tutorial correct but everytime i try to run it. I get following error:
    Error(): Expression Language not supported in compile time attribute test
    It has something to do with following line of code
    <c:if test="${subscriber == null || !subscriber.loggedIn}">
    The error appears on every page where "<c:" appears.
    I have imported the right class library
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    Does anybody have any idea what i can do?

    Dear Tim,
    What a chance!!! I've got the same problem as you?!
    I've tried almost everything, but still haven't succeeded to solve it!
    Hopefully someone can help us.
    Greetings

  • Unified Expression language framework in another context than JSP/JSF

    Hi
    +(I hope this is the right place for such question)+
    We are building some RCP apps and we are in need, for our frameworks, of a expression language that allows to get and set values, and other things, and it seems that the Unified Expression Language Framework meets our need.
    However, as I said, this is a RCP app, not a web app. So my question is
    Is this framework designed to be used outside of the web app context (jsp, jsf, etc) ? Or is there any dependencies that would prevent or make it difficult to use it in a GUI RCP application?
    Thanks for your help
    cd

    BalusC wrote:
    It's so cool that you can change the way to read your sentence. I never read it any other way. I probably shouldn't have posted a double meaning statement but saying that I'm changing the way I read it is incorrect. I'm not doing that.
    BalusC wrote:
    It's also a great coincidence that you mention exactly the references which are implicitly available in the scriptlet world.Not sure what that's intended to mean. I was exposing to the OP the part of EL that deals with objects that require/assume a j2ee container.

  • BUG:  Expression Language not supported (JDeveloper 10.1.3.0.4(SU1))

    Hi!
    I have the following code in a jspx page:
    <c:if test="${!empty bean.genericErrorMessages}">
    <h:outputText styleClass="texto_red"
    value="#{bean.genericErrorMessages}"
    id="applicationErrorMessages" escape="false"/>
    </c:if>
    All code compile well, but when i run the jspx page the following exception occur.
    The problem is that in JDeveloper Early Access 3 the problem doesn't occur.
    But in the Jdeveloper version 10.1.3.0.4(SU1) the exception occur.
    I'm running JDeveloper in a Windows XP SP2, JSF 1.1_01 and JSTL 1.0
    Does anyone know a solution to this problem? Tanks.
    The Exception:
    Error: Expression Language not supported in compile time attribute test
         at oracle.jsp.parse.JspUtils.hasELWithCreation(JspUtils.java:1248)
         at oracle.jsp.parse.JspUtils.processELAttribute(JspUtils.java:1274)
         at oracle.jsp.parse.OpenJspTagHandler.processAttributeValue(OpenJspTagHandler.java:331)
         at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1368)
         at oracle.jsp.parse.JspParseTag.parse(JspParseTag.java:1413)
         at oracle.jsp.parse.OpenJspTagHandler.parse(OpenJspTagHandler.java:802)
         at oracle.jsp.parse.JspParseTag.genXMLSrcTag(JspParseTag.java:867)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcNextTag(JspParseTag.java:745)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcBody(JspParseTag.java:1121)
         at oracle.jsp.parse.OpenJspTagHandler.parseXMLSrcBody(OpenJspTagHandler.java:739)
         at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1375)
         at oracle.jsp.parse.JspParseTag.parse(JspParseTag.java:1413)
         at oracle.jsp.parse.OpenJspTagHandler.parse(OpenJspTagHandler.java:802)
         at oracle.jsp.parse.JspParseTag.genXMLSrcTag(JspParseTag.java:867)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcNextTag(JspParseTag.java:745)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcBody(JspParseTag.java:1121)
         at oracle.jsp.parse.OpenJspTagHandler.parseXMLSrcBody(OpenJspTagHandler.java:739)
         at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1375)
         at oracle.jsp.parse.JspParseTag.parse(JspParseTag.java:1413)
         at oracle.jsp.parse.OpenJspTagHandler.parse(OpenJspTagHandler.java:802)
         at oracle.jsp.parse.JspParseTag.genXMLSrcTag(JspParseTag.java:867)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcNextTag(JspParseTag.java:745)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcBody(JspParseTag.java:1121)
         at oracle.jsp.parse.OpenJspTagHandler.parseXMLSrcBody(OpenJspTagHandler.java:739)
         at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1375)
         at oracle.jsp.parse.JspParseTag.parse(JspParseTag.java:1413)
         at oracle.jsp.parse.OpenJspTagHandler.parse(OpenJspTagHandler.java:802)
         at oracle.jsp.parse.JspParseTag.genXMLSrcTag(JspParseTag.java:867)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcNextTag(JspParseTag.java:745)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcBody(JspParseTag.java:1121)
         at oracle.jsp.parse.OpenJspTagHandler.parseXMLSrcBody(OpenJspTagHandler.java:739)
         at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1375)
         at oracle.jsp.parse.JspParseTag.parse(JspParseTag.java:1413)
         at oracle.jsp.parse.OpenJspTagHandler.parse(OpenJspTagHandler.java:802)
         at oracle.jsp.parse.JspParseTag.genXMLSrcTag(JspParseTag.java:867)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcNextTag(JspParseTag.java:745)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcBody(JspParseTag.java:1121)
         at oracle.jsp.parse.OpenJspTagHandler.parseXMLSrcBody(OpenJspTagHandler.java:739)
         at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1375)
         at oracle.jsp.parse.JspParseTag.parse(JspParseTag.java:1413)
         at oracle.jsp.parse.OpenJspTagHandler.parse(OpenJspTagHandler.java:802)
         at oracle.jsp.parse.JspParseTag.genXMLSrcTag(JspParseTag.java:867)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcNextTag(JspParseTag.java:745)
         at oracle.jsp.parse.JspParseTag.parseXMLSrcBody(JspParseTag.java:1121)
         at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1375)
         at oracle.jsp.parse.JspParseTagFile.parseXMLSrc(JspParseTagFile.java:296)
         at oracle.jsp.parse.JspParseTagFile.parse(JspParseTagFile.java:211)
         at oracle.jsp.parse.OracleJsp2Java.transform(OracleJsp2Java.java:403)
         at oracle.jsp.runtimev2.JspPageCompiler.attemptCompilePage(JspPageCompiler.java:558)
         at oracle.jsp.runtimev2.JspPageCompiler.compilePage(JspPageCompiler.java:348)
         at oracle.jsp.runtimev2.JspPageInfo.compileAndLoad(JspPageInfo.java:610)
         at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:634)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:370)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:298)
         at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:205)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
         at org.apache.shale.faces.ShaleViewHandler.renderView(ShaleViewHandler.java:143)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at pt.ivv.commonbusiness.presentation.servlets.filter.HibernateFilter.doFilter(HibernateFilter.java:68)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:534)

    Hello,
    You should not try to mix JSP and JSF EL prior to JSF 1.2 and JSP 2.1, the result is inconsistent most of the time.
    To fix your current issue though, I suggest you use the rendered attribute instead of a <c:if>, so would be:
    <h:outputText styleClass="texto_red"
    value="#{bean.genericErrorMessages}"
    id="applicationErrorMessages" escape="false" rendered="#{!empty bean.genericErrorMessages}"/>Regards,
    Simon Lessard

  • Text/expression-language-based paradigma continues?

    i've been working with jsp and struts for a while. the most significant drawback of jsp, custom tags/jstl and struts is its "runtime" binding caused by the heavy use of string-attributes and interpreted expressions.
    it makes the coding itself harder (loss of compiler support and strong typing), it increases the amount of testing (automated tests, regression tests) extremely, it makes jsp-apps very hard to mantain, it is error-prone when changed or refactored, it is slower in execution and last but not james requires extra developement tools (such as struts-editors) to effectively maintain the applications.
    but i like the paradigma of a web application that keeps a view state, handles "events" etc.
    the only thing i can't understand is why jsf builds on the error-prone jsp/custom tag paradigma instead of compiled server side ui components. it obviuosly still tries to follow the myth, that web-designers and application developers can share their source (i.e. js-pages) by using tags. imo this is a degeneration of the good idea to leverage html by some custom tags. these tags empower designers to make their pages dynamic. (enterprise) software developement ist very different: complex use cases, business logic and often ui-"logic", integration issues etc...
    the life cycle of a jsp with custom tags is weird (even more in struts):
    - objects (variables in scriptlets) already existing in the scope of the jsp-execute-method are wrapped into attributes of page, request or application scope.
    - tags are defined using string-based attributs, such as <html:write name="pinky" property="brain" />
    - the implementation of the tag tries to look up the object in any of the scopes, starting with page scope
    - if the object exists, it tries to read/set its property via reflection
    so you lose strong typing, compile time checks and performance.
    there are several frameworks that do not build upon jsp and tags but put in an extra layer. this layer is similar to a rich client "form" and renders the output into html or any other format.
    so i'm not preferring any framework, just looking around and curious why this architecture has been chosen for jsf.
    thanks
    tom

    the most significant drawback of jsp, custom tags/jstl and struts is its "runtime" binding
    caused by the heavy use of string-attributes and interpreted expressions.I second this heartily.
    but i like the paradigma of a web application that keeps a view state, handles "events" etc.
    the only thing i can't understand is why jsf builds on the error-prone jsp/custom tag
    paradigma instead of compiled server side ui components. The JSF - JSP connection is a major problem. More and more developers are starting to express reservations about it, because the two technologies don't play well together. But I think you've hit on an even deeper fundamental flaw in the equation -- the evils of runtime binding. The heavy JSF/JSP reliance on runtime evaluation is a reliability nightmare. Developers choose Java, in part, because of the robustness provided by compile-time checking. We give that up when it comes to JSF/JSP or Struts web applications, and that's an unacceptable state of affairs.
    Winer says that "JSF has taken a major step in the right direction with the <managed-bean> and <referenced-bean> configuration elements. These give some hope for development tools to finally provide real code insight (and even error reporting) for EL expressions, because they define both what keys are used in the expression language and what types of objects may be at those keys." However, this will help with only the simplest EL expressions. As soon as an EL expression reaches into nested properties and maps that aren't defined in the config file, we're back to runtime binding and error reporting. The addition of generics to the language with 1.5 might have made it possible to introduce strong EL type checking at page compile time, but Sun's short-sighted type-erasure implementation of generics rules this out permanently.
    Look at what Microsoft is doing with ASP.NET. It's not perfect, but the fundamental technology is based on compiled server side ui components. There are places in that framework where you can write expressions aren't evaluated until runtime, but it's certainly not the fundamental basis of the model as it is with JSF/JSP. And the .NET implementation of generics may make it possible to have these dynamic expressions type-checked at page compile time in a future implementation of .NET.
    I keep reading comments from the JSF proponents who say things to the effect of "yes, we know JSP doesn't play well with JSF, but JSF allows you to plug in a different rendering technology." Well, we need one, and we need it urgently. ASP.NET has been out for two years now, and was far more polished and useable at its release than JSF is now after a very long development cycle.
    Rightly or wrongly, people will judge JSF on the merits of the reference implementation. And I fear that a lot of developers are going to throw up their hands after a taste of the JSF/JSP world and move to .NET.
    Stephen Schaub

  • Expression language

    Hi,
    I need some help on clarifying the expression language. I have this code
    <h:outputText value="variable"/>I want to replace the variable with a value from the database. How can I do this using the expression language? Or do I need to use the JSP scriplet and call a bean function?
    clarenceloh

    Basically:<h:outputText value="#{myBean.variable}" />MyBeanprivate String variable; // + getter + setter
        loadVariable(); // Can also use constructor or static block for this.
    private void loadVariable() {
        variable = getVariableFromDatabaseSomehow();
    }

  • How to use Type Casting in JSF Expression Language

    I have an attribute CategoryId in my VO of type oracle.jbo.domain.Number. I am trying to use the expression of Boolean item in JSF as #{row.CategoryId != 4}
    Here is the JSF code:
                          <af:column id="s141NewItem3Col" noWrap="true" width="100"
                                     rowHeader="false">
                            <f:facet name="header">
                              <af:outputLabel value="CAtIDDeq4" showRequired="false"
                                              id="ol18"/>
                            </f:facet>
                            <af:inputText id="s141NewItem3"
                                          value="#{row.CategoryId != 4}"
                                          label="CAtIDDeq4" required="false"
                                          readOnly="#{((pageFlowScope.ContractRightCategoriesTable.newRow) and (!(jhsUserRoles['RM, ADMIN, AllButTitl, AllButAdmn']))) or ((!pageFlowScope.ContractRightCategoriesTable.newRow) and (!(jhsUserRoles['RM, ADMIN, AllButTitl, AllButAdmn'])))}"></af:inputText>
                          </af:column>I am getting the run time exception as "Can not convert 4 of type class oracle.jbo.domain.Number to class java.lang.Long".
    I am wondering how the row.CategoryId is treated as Long?. PLease advise. Also, will I be able to use type casting expressions in JSF Expression Language?
    Thanks, Pradeep

    use attributeValue
    Try *#{row.bindings.CategoryId.attributeValue != 4}* ?
    Check this thread for details which discusses about the same:
    El expression to disable  or enable
    Thanks,
    Navaneeth

  • Expression Language support in Weblogic portal workshop8.1 sp5

    while i was developing the jsp pages in Weblogic portal workshop8.1 sp5, though i included jstl.jar and standard.jar in WEB-INF\lib , my jsps are not recognising expression language statements like ${initParam.name}? what might be the reason for this problem?
    pls do the needful.

    Weblogic 8 is J2EE1.3 compliant.
    That means Servlet2.3 / JSP1.2
    Which means it won't understand the EL on its own.
    EL was added with JSP2.0.
    You need to use JSTL1.0 with this server, and the EL expressions can only be used within the JSTL tags, or tags especially written to understand EL.

Maybe you are looking for

  • Mail keeps crashing!

    I haven't done anything different in a while and all my programs are up to date!  My OS is Mountain Lion 10.8.3. Here'e the crash message: Process:         Mail [2477] Path:            /Applications/Mail.app/Contents/MacOS/Mail Identifier:      com.a

  • How did they do this?

    http://blusites.com/george/ I was wondering if anyone knows how they got the photos in the background to be full screen. I am trying to do the same thing only I will have both vertical and horizontal photos and want to show them full screen while kee

  • CRM Business Partner Master Data Extraction

    Hello Friends, I would like to extract the complete Business Partner (BP) information in CRM onto application server in csv format. Could you pls let me know if there are any standard programs or Function Modules which helps me to extract complete da

  • Hard Drive Reformat

    I ran disk utility and it said the disk couldn't be repair. It said I should reformat and restore from Time Machine. My question is how do I reformat?  I also want to know what happens to my music in iTunes Match that I don't have stored on my hard d

  • Data Load from Source to Destination

    Hello Forum Members, I have to databases on different solaris servers. I have to load data from Source Table[Server 1] to Target Current Table[truncate existing data and load from Source Table] [Server 2]and on every Wednesday from Target Current Tab