Starting with JSF

I have a hands on knowledge of JSP and servlets,and a very limited knowledge of JSTL.However i wont call the knowledge of JSP and servlets to be in depth as it is in case of JAVA for me.
I need to know if i should go strait for JSF as an alternative to JSP and JSTL or should i first go for an in depth knowledge of JSP and JSTL.

I think part of it depends on the complexity of your application. If it's just a very simple app JSP/JSTL would be fine, but if it has a potential to grow you might want to consider JSF. Either way, JSTL is just a set of commonly used and stable tag libraries where JSF is a full MVC framework. I think your decision is more a question of whether you want to use a framework or not.
If you are looking to grow and learn as a developer, JSF would be a good thing to learn. Take some time to go through the JavaEE tutorial. http://java.sun.com/javaee/5/docs/tutorial/doc/. It does a pretty good job of leading you through the various EE technologies.
Have fun!

Similar Messages

  • "Tutorial - Getting Started with JSF" does not work

    I tried the "Tutorial - Getting Started with JSF" located on http://www.oracle.com/technology/obe/obe1013jdev/jsfintro/jsfintro.htm#t6, but the last part "Creating a conditional navigation" is not complete.
    There are 2 issues
    1. The return values in the code blocks in step 9 and 11 do not match with the given example code.
    2. In step 12 I am missing the way to bind this message component to returned message from the login.
    Could you please correct the code parts and add the message binding piece?
    Thanks,
    Aard Jan

    I tried the "Tutorial - Getting Started with JSF" located on http://www.oracle.com/technology/obe/obe1013jdev/jsfintro/jsfintro.htm#t6, but the last part "Creating a conditional navigation" is not complete.
    There are 2 issues
    1. The return values in the code blocks in step 9 and 11 do not match with the given example code.
    2. In step 12 I am missing the way to bind this message component to returned message from the login.
    Could you please correct the code parts and add the message binding piece?
    Thanks,
    Aard Jan

  • Shortest path to get started with JSF project

    Hello,
    I am looking for a path of least resistance (or effort) to get started with JSF. This is really an add to the "JSP due diligence" thread that I started but with a specific question. At this time, I am primarily interested in implementing an MVC framework. The components of JSF seem interesting and I think will be valuable to us, but it would be too much to bite off at this time. So, could I implement JSF with my JSP pages (with code to use the backing beans but my own html components) and then later add JSF components as the next step? Perhaps this is non sensical but appreciate you saying that so I know how much effort is involved.
    Thanks!
    Priya

    Trying to use JSF without the JSF components sounds like it would be harder. Much of the benefit of JSF is the binding of bean properties to component values.

  • Getting started with JSF 2.0

    I'd like to start learning JSF 2.0, however, before I begin I have a few questions I'd like to clarify:
    1. What are the differences between the reference implementation and MyFaces ?
    2. Can jsf 2.0 with reference implementation or MyFaces be deployed on any servlet container, i.e. tomcat/jetty, or must it be deployed only on a Java EE compliant container?
    3. How difficult is it to create custom tags?
    4. Is it possible to use *Faces+ (i.e. PrimeFaces, RichFaces, etc) with a javascript library like jquery or yui? Are any conflicts created by doing so?
    5. What are the biggest limitations/shortfalls (if any) of JSF 2.0?
    Thanks.

    1. What are the differences between the reference implementation and MyFaces ?They are two different implementations of the same specification. There shouldn't be any externally detectable differences.
    2. Can jsf 2.0 with reference implementation or MyFaces be deployed on any servlet container, i.e. tomcat/jettyYes
    or must it be deployed only on a Java EE compliant container? No.
    3. How difficult is it to create custom tags?Not too bad. Read the documentation.
    4. Is it possible to use *Faces+ (i.e. PrimeFaces, RichFaces, etc) with a javascript library like jquery or yui? Are any conflicts created by doing so?RichFaces already uses jQuery 1.3.2, so they are certainly compatible. However note that RichFaces doesn't yet support Facelets 2.
    5. What are the biggest limitations/shortfalls (if any) of JSF 2.0?That'sa very large discussion indeed.

  • I ned some le�ons to start with jsf

    can you help me or show me a link to a site that best describe how to do with

    Here is a link.

  • Any CRUD example starting with Hibernate+MySQL +Tomcat  with JSF  ??

    Hi,
    I am eager to learn Hibernate integrated with JSF and work on it.
    Kindly let me have any CREATE - REMOVE - UPDATE - DELETE example.
    ex. employee , users etc etc...
    If any good material or link to start with this. USING DAO pattern please let me know.
    I need your help.
    Thanks
    Ghanshyam

    Ghanshyam,
    Go to the following URL http://www.jsftutorials.net/
    you will find some good examples there.

  • Application not working with JSF 1.2

    I am new to JSF. I am trying to create a sample application with JSF 1.2. I am using weblogic 10.0. I have followed the instructions give in the whitepaper to configure JSF 1.2.
    http://download.oracle.com/technology/products/weblogic/portal/weblogic-portal-jsf-whitepaper.pdf
    Deployment descriptor contains following content.
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" 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">
    <display-name>AlfaInsPortalWebApp</display-name>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    <!--<description>
                   State saving method: "client" or "server" (= default)
                   See JSF Specification 2.5.2
              </description>-->
    </context-param>
    <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    <servlet>
    <servlet-name>faces</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
    <welcome-file>index.faces</welcome-file>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
         <session-config>
         <session-timeout>30</session-timeout>
         </session-config>
    </web-app>
    Weblogic.xml contains reference to following libraries
    <?xml version="1.0" encoding="UTF-8"?>
    <wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
         <wls:container-descriptor>
              <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
         </wls:container-descriptor>
    <wls:context-root>AlfaInsPortalWebApp</wls:context-root>
    <wls:library-ref>
    <wls:library-name>jstl</wls:library-name>
    <wls:specification-version>1.2</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-tools-visitor-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-tools-framework-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-commonui-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-full-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-clipper-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-lookandfeel-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-rest-full-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-rest-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-rest-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-light-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-wsrp-producer-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-common-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-struts-1.2-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>struts-1.2</wls:library-name>
    <wls:specification-version>1.2</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-services-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>content-management-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>beehive-netui-1.0.1-10.0</wls:library-name>
    <wls:specification-version>1.0</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>beehive-netui-resources-1.0.1-10.0</wls:library-name>
    <wls:specification-version>1.0</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>p13n-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>jsf</wls:library-name>
    <wls:specification-version>1.2</wls:specification-version>
    <wls:implementation-version>1.2.3.1</wls:implementation-version>
    </wls:library-ref>
    </wls:weblogic-web-app>
    When i start the application server following logs were obtained
    Apr 9, 2010 7:09:32 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    Apr 9, 2010 7:09:33 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Completed initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    Apr 9, 2010 7:09:33 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    Apr 9, 2010 7:09:33 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Completed initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    When i invoke the application I get the following error.
    java.lang.NoSuchMethodError: initView
         at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:92)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    Please help me in configuring JSF 1.2.

    If you are new to JSF, then I'd try and simplify the environment in which you are working as the first step to achieving a successful outcome.
    JSF 1.2 is a certified and well tested component of WLS, so we know it works. I'm not sure of the effect of all those additional modules you are adding in there -- it appears as if you have gotten a Faces implementation instantiated, but there could be some form of version difference/conflict since it can't find a method its looking for.
    Using Oracle Enterprise Pack for Eclipse (http://www.oracle.com/technology/software/products/oepe/oepe_11115.html) you can build yourself out a pretty simple JSF application to get started from and deploy it to a WLS server. This would remove all the additional libraries you currently have, provide you with a bundled applicaton to deploy and give you a pretty good environment from which you can learn and experiment with JSF.
    -steve-

  • Need Suggestion on including JSTL Tags with JSF

    Hi..All....
    I need some suggestions.. i Started doing a project in JSF.. i am new to JSF...
    I Developed some part of the project in Struts.. but now.. our clinet says... The Application Has to go
    with JSF.so.. started redesigning again....
    Can i use JSTL...where ever i want....when i am developing a JSF Application...
    Please suggest..me...
    Thanks.. for the Help..
    Arthi

    I am freely mixing jstl and jsf in my project using:
    JSTL RI 1.2
    JSF RI 1.2
    Tomcat 6
    i am mixing c:forEach and h: tags successfully, which i needed for some javascript functionality that i could not do with data table. but stick to JSF wherever possible!

  • How to render a JSP page dynamically with JSF controls ??

    Hi All,
    I am new to JAVA and JSF. I am recently started doing a web project. First we started using plain JSP and servlets and now we are going to use JSF.
    Now I am facing one problem with JSF. In a JSP page, I am having a combobox and a div and when i am selecting a value from the combo box, the div should be filled with some controls(like text boxes and comboboxes, buttons, etc) according to the selection.
    I have done this in plain JSP with the help of XML/XSLT, AJAX and JavaScript. i.e. XML contains the details of the controls and XSLT transformer will give me controls in a string format in the server, AJAX helps to retrieve it and I have to simply set the div.innerHTML property to that string. It is working fine.
    Now with JSF, I need to add JSF controls into my XML file, and it inturn returns the corresponding string having JSF controls easily, but i could not set it directly to div's innerHTML as the String contains JSF controls (Moreover, these JSF controls are linked with JAVA beans).
    Is there any provision to add JSF controls to a running page dynamically or is there any provision to convert the above mentioned string of JSF controls to normal HTML controls like the JSF taglibraries doing.??
    thanks in advance
    noushad
    Edited by: naash007 on Apr 20, 2009 4:17 AM
    Edited by: naash007 on Apr 20, 2009 5:45 AM

    That's simply asking for trouble. Do not suggest to use JSTL in combination with JSF.
    JSF already provides almost everything which the JSTL flow control tags provides in flavour of the 'rendered' attribute.

  • Navigation problem when using tiles with JSF

    Hi all,
    I m using tiles with JSF. i have included all the libraries and jsp page is rendered properly. but when i use <h:commandLink> in the body part of the JSP , i cannot go to the specified link. when we use tiles, what changes need to be done in faces-config file?? i mean what navigation rule we need to specify ??

    Hello, I have the same problem; JSF+Tiles = No navigation.
    One basic question is should I reference the parent jsp or the included body jsp in the faces-config.xml file.
    For example: The login.jsp is a main tiles page that includes a menu.jsp, header.jsp & a loginBody.jsp.
    Hence the faces-config could have this rule;
    <navigation-rule>
    <from-view-id>/login.jsp</from-view-id>
    <navigation-case>
    <to-view-id>/catalog.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    (I've left the outcome tag out to simplify this post)
    Or, I could refer loginBody.jsp in the navigation rule;
    <navigation-rule>
    <from-view-id>/loginBody.jsp</from-view-id>
    <navigation-case>
    <to-view-id>/catalog.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    The loginBody.jsp has a commandbutton which a user clicks which starts the navigation.
    Neither seems to work unfortunately & I'm a stuck.
    Thanks

  • Test driven development with JSF possible?

    Hi,
    I got two questions:
    Is it possible to just make use of the HTML generation part of JSF, meaning creating the component tree and somehow triggering the generation of HTML for that view, without using a custom view handler?
    Second, is it possible to create a component tree OUTSIDE the webcontainer and have it generate HTML for test driven development (JUnit tests not HttpUnit)? Even if it would mean using a mock FacesContext? We do something similar for our code that relies on a plain Servlet context, but because of the request processing lifecycle and all the value/method binding I'm not sure if the same can be done with JSF...
    Thanks in advance,
    Raymond Brandon

    I've looked into these issues some. I specifically wanted a harness for custom controls, per your second request, and a way to do UI unit tests.
    I didn't find much to aid in getting the former to happen and it seemed that creating mocks would be a huge hassle. As for the latter, I did find that there are cactus-based tests in the source code that Sun released, and there are some classes for making JSF testing easier, but the tests they have of their own code are surprisingly thin, and there doesn't appear to be an easy way to just grab a jar or two and start doing your own container tests. The Gamma/Beck book Contributing to Eclipse shows examples of writing UI unit tests that would be hugely useful.

  • Which Jdev version to start with?

    Hi all, I have played with java for some time and looked at early versions of Jdev but now want to use it in earnest myself to expand my skill sets. I work primarily with Oracle Applications and would like to create custom modules etc using Jdev and learn this development tool.
    Which version should I start with? Is it better to look at 9 version rather than 10 as there are more resources etc and also more likely to be in use in the world of work?
    Great if someone who uses it in the real world for development could give me some advice.
    Thanks Cel

    There is no reason to start with 9i.
    The way I see it is that you have two options right now:
    10.1.2 - the current production version
    or 10.1.3 - which is currently in a developer preview mode.
    The decision factor can come down to which technology you are interested in. (for example JSF is only in 10.1.3).
    But one more important factor is ADF which is not yet in the 10.1.3 preview - and is especially useful for people who are just starting with Java.
    My suggestion is that you take 10.1.2 and run through the reviewer guide to understand what ADF gives you.
    Then you'll have a better view point on which version to use.

  • Problems with JSF and included subviews

    Hi everybody,
    I' ve got a problem with JSF and included subviews which makes me going
    crazy. I've got no clue why my web-pages are represent wrongly. The only
    tip I've got is that it must be connected with the kind I do include my JSF-pages.
    When I use <%@file="sub.jsp"%> my pages are are represent right. When I use <jsp:include page="Sub.jsp" /> or <c:import url="Sub.jsp" /> ( mark: the usage of flush="true" or flush="false" doesn't matter )
    my pages are represent wrongly.
    The usage of tags like f:facet or f:verbatim were also included but didn't point to an solution.
    I searched the whole Sun Developer Forum and some other web-sites for any solution for my problem but the given hints and clues didn't help. Now I'm trying to post my problem directly in Sun's Forum in hope to get help.
    My environment is the following:
    JAVA JDK 1.5 Update 4
    Tomcat 5.5.9
    JSLT 1.1
    Sun JSF 1.1
    Win 2K
    Here's my code:
    Main.jsp
    <%@ page language="java"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%
              String path = request.getContextPath();
              String basePath = request.getScheme() + "://" + request.getServerName()
                        + ":" + request.getServerPort() + path + "/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
         <base href="<%=basePath%>">
         <meta http-equiv="pragma" content="no-cache">
         <meta http-equiv="cache-control" content="no-cache">
         <meta http-equiv="expires" content="0">   
         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
         <meta http-equiv="description" content="This is my page">
         <link rel="stylesheet" href="stil.jsp" type="text/css" />
    </head>
    <body>
         <f:view>
              <h:form>
                   <div class="table">
                        <div class="tr">
                             <h:outputText styleClass="tdleft" value="value 1"/>
                             <h:outputText styleClass="tdinfo" value="value 2"/>
                        </div>
                        <div class="tr">
                             <h:outputText styleClass="tdleft" value="value 3"/>
                             <h:outputText styleClass="tdinfo" value="value 4"/>
                        </div>
                   </div>
              </h:form>     
              <jsp:include page="Sub.jsp" />
         </f:view>
    </body>
    </html>Sub.jsp
    <%@ page language="java"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <f:subview id="subview">
         <h:form>
              <div class="table">
                   <div class="tr">
                             <h:outputText styleClass="tdleft" value="value 11"/>
                             <h:outputText styleClass="tdinfo" value="value 22"/>
                   </div>
                   <div class="tr">
                        <h:outputText styleClass="tdleft" value="value 33"/>
                        <h:outputText styleClass="tdinfo" value="value 44"/>
                   </div>
              </div>
         </h:form>
    </f:subview>stil.jsp
    <%@page contentType="text/css"%>
    <%
        String  schwarz     = "#000000",
                grau1       = "#707070",
                grau2       = "#c0c0c0",
                grau3       = "#e0e0e0",
                grau4       = "#e8e8e8",
                grau5       = "#fdfdfd",
                blau        = "#0000dd",
                tuerkis     = "#00cfff";
        String  liniendicke = "1px",
                linienart   = "solid";
        String allgemeineTextFarbe           = schwarz;
        String allgemeineHintergrundFarbe    = grau3;
        String infoTextFarbe                 = blau;
        String fieldsetRandFarbe             = blau;
        String fieldsetRandDicke             = liniendicke;
        String fieldsetRandArt               = linienart;
        String hrLinienFarbe                 = blau;
        String hrLinienDicke                 = liniendicke;
        String hrLinienArt                   = linienart;
        String inputAktivHintergrundFarbe    = grau5;
        String inputReadonlyHintergrundFarbe = grau4;
        String inputPassivHintergrundFarbe   = grau4;
        String inputPassivFarbe              = schwarz;
        String inputRandFarbe1               = grau1;
        String inputRandFarbe2               = grau5;
        String inputRandDicke                = liniendicke;
        String inputRandArt                  = linienart;
        String inputButtonHintergrundFarbe   = grau3;
        String legendenFarbe                 = blau;
        String linkFarbe                     = blau;
        String linkAktivFarbe                = tuerkis;
        String linkBesuchtFarbe              = blau;
        String linkFocusFarbe                = tuerkis;
        String objectGitterFarbe             = grau5;
        String objectGitterDicke             = liniendicke;
        String objectGitterArt               = linienart;
        String tabellenGitterFarbe           = grau5;
        String tabellenGitterDicke           = liniendicke;
        String tabellenGitterArt             = linienart;
    %>
    <%-- ----------------------------------------------- --%>
    <%-- Textdarstellung mittels der Display-Eigenschaft --%>
    <%-- in den Tags div und span                        --%>
    <%-- ----------------------------------------------- --%>
    *.table {
        display:table;
        border-collapse:collapse;
    *.tbody {
        display:table-row-group;
    *.tr {
        display:table-row;
    *.td,*.tdright,*.tdleft,*.tdinfo,*.th {
        display:table-cell;
        padding:3px;
        vertical-align:middle;
    *.td,*.th {
        text-align:center;
    *.tdright {
        text-align:right;
    *.tdleft {
        text-align:left;
    *.tdinfo {
        color:<%=infoTextFarbe%>;
        text-align:right;
    *.th {
        color:<%=infoTextFarbe%>;
        font-weight:bold;
    }thanks in advance
    benjamin

    Hello Zhong Li,
    many thanks for your post, but it didn't work.
    My problem is that the JSF-Components im my included or imported
    JSP-Pages does not accept any kind of style or styleClass for
    designing. The components take over the informations for colors
    but not for alignment.
    When I take a look at the generated JAVA-Source in $TOMCAT/WORK/WEBAPP for my sub.jsp ( sub.java )
    it seems that the resulting HTML-page would be presented correctly.
    But later when I start the application via Firefox or Mozilla the html-sourcecode is totally wrong.
    In my example I create a simple grid with 2 rows and 2 columns.
    Both columns contains JSF-Outtext-Components and are included with div-tags.
    The generated Sub.java shows that the text would be setted in the div-tags. Unfortunately the html-sourcecode represented by my browser shows that jsf-text is not setted in the tags but in the <h:form> tags. The div-tags are neither rounded by <h:form> nor containing the JSF-OutText-Components.
    Any clue?
    Many thanks Benjamin
    Here is the html-code from Firefox:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
         <base href="http://polaris21:8080/webtest/">
         <meta http-equiv="pragma" content="no-cache">
         <meta http-equiv="cache-control" content="no-cache">
         <meta http-equiv="expires" content="0">   
         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
         <meta http-equiv="description" content="This is my page">
         <link rel="stylesheet" href="stil.jsp" type="text/css" />
    </head>
    <body>
         <form id="_id0" method="post" action="/webtest/Main.faces" enctype="application/x-www-form-urlencoded">
              <div class="table">
                   <div class="tr">
                        <span class="tdleft">value 1</span>
                        <span class="tdinfo">value 2</span>
                   </div>
                   <div class="tr">
                        <span class="tdleft">value 3</span>
                        <span class="tdinfo">value 4</span>
                   </div>
              </div>
              <input type="hidden" name="_id0" value="_id0" />
         </form>     
          <form id="SUB:_id5" method="post" action="/webtest/Main.faces" enctype="application/x-www-form-urlencoded">
               <span class="tdleft">value 11</span>
              <span class="tdinfo">value 22</span>
              <span class="tdleft">value 33</span>
              <span class="tdinfo">value 44</span>
              <input type="hidden" name="SUB:_id5" value="SUB:_id5" />
         </form>
         <div class="table">
              <div class="tr">
              </div>
              <div class="tr">
              </div>
         </div>
    </body>
    </html>

  • Invalid content was found starting with element 'url-pattern'

    Hi,it looks there is something wrong with my web.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
    <display-name>TestAA</display-name>
    <welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
    </welcome-file-list>
    <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>
    <security-constraint>
         <web-resource-collection>
              <url-pattern>/secure/*</url-pattern> ...................................................................error here
    </web-resource-collection>
         <auth-constraint>
              <role-name>retuser</role-name>
         </auth-constraint>
         </security-constraint>
    <login-config>
         <auth-method>FROM</auth-method>
         <form-login-config>
              <form-login-page>/login.xhtml</form-login-page>
              <form-error-page>/loginError.xhtml</form-error-page>
         </form-login-config>
    </login-config>
    </web-app>
    error message:
    cvc-complex-type.2.4.a: Invalid content was found starting with element 'url-pattern'. One of '{"http://java.sun.com/xml/ns/javaee":web-resource-name}' is expected.

    Hi Linyin,
    Please refer to: http://middlewaremagic.com/weblogic/?p=2034
    The Problem is missing element *<web-resource-name>* in your *"web.xml"* file..... which must be a Unique name of your Resource set which u want to make secure.....
    Example:
    <security-constraint>
    <web-resource-collection>
    *<web-resource-name>MySecureResource</web-resource-name>* <----------This line should come Just above <url-pattern>
    <url-pattern>/secure/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>retuser</role-name>
    </auth-constraint>
    </security-constraint>
    Thanks
    Jay SenSharma
    http://middlewaremagic.com/weblogic (Middleware Magic Is Here)

  • Eaten exceptions starting with JDeveloper 10.1.3.1

    In the thread Bug(?): Exceptions ignored in ControllerClass I described a bug in ADFPhaseListener that ate exceptions. Starting with 10.1.3.1, this bug remains and there is a new bug - exceptions are eaten in com.sun.faces.lifecycle.LifecycleImpl.phase() method as well. And it has even worse side effect - it prevents executing of subsequent phase listeners after the exception occurs, so the workaround defined in the other thread does not work. This even breaks JSF specification, which specifies, that container must ensure, that if beforePhase method is executed, corresponding afterPhase must be called.
    To catch all Throwables and just output it if tracing is enabled, is quite nasty, especially in frameworks... Bug remains in 10.1.3.2 (the jsf-impl.jar is identical).
    The only workaround is not to throw exceptions (ugh...). I have a base class for all ControllerClass-es, that catches Throwables and the handler forwards to errorpage and calls responseComplete():
    public class BasePagePhaseListener implements PagePhaseListener {
      public final void beforePhase(PagePhaseEvent event) {
        try {
          // internal method
          beforePhaseInt(event);
        } catch (RuntimeException e) {
          handleError(e);
        } catch (Error e) {
          handleError(e);
      /** Method to override in subclasses */
      public void beforePhaseInt(PagePhaseEvent event) { }
      // afterPhase similarly...
      private void handleError(Throwable e) {
        FacesContext fctx = FacesContext.getCurrentInstance();
        fctx.responseComplete();
        ExternalContext ec = fctx.getExternalContext();
        RequestDispatcher rd = ((HttpSession)ec.getSession(true)).getServletContext()
          .getRequestDispatcher("/errorpage.jsp");
        ServletRequest request = (ServletRequest)ec.getRequest();
        request.setAttribute("javax.servlet.jsp.jspException", e);
        try {
          rd.forward(request, (ServletResponse)ec.getResponse());
        } catch (Exception e2) {
          e2.printStackTrace();
    }I'm going to create a SR :(
    Viliam
    P.S.: never do catch (Throwable e) { }, if you really don't have to, please...

    hi Viliam Durina
    You are right about the issue in ADFPhaseListener and its different PhaseInvoker implementations.
    Some of its PhaseInvoker.after() method implementations have empty catch blocks while catching Exception (for this JDeveloper itself warns "Catch block for java.lang.Exception should rethrow or invoke handler.").
    See lines 329 and 414 in
    <jdevstudio10132>\adfc\src\adf-controllersrc.zip!\oracle\adf\controller\faces\lifecycle\ADFPhaseListener.java
    It looks like you have been dealing with this for a while? Has Oracle already explained this as intented behaviour or has a bug been logged?
    Could you please explain why this "even breaks JSF specification, which specifies, that container must ensure, that if beforePhase method is executed, corresponding afterPhase must be called."?
    The oracle.adf.controller.v2.lifecycle.PagePhaseListener is not part of that specification, is it?
    regards
    Jan Vervecken

Maybe you are looking for