incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Lessard" <simon.lessar...@gmail.com>
Subject Re: ADF Bindings Servlet/Filter not invoking Faces Servlet
Date Tue, 12 Sep 2006 22:06:27 GMT
Hello Samba,

Drag & drop works only with data controls to my knowledge. As for EL, I
usually create a facade architecture and managed beans, so yeah it implies
more code, but I get access to the whole API and it's easier to switch over
another technology after imho. Better extensibility and modularisation at
the cost of an higher initial development effort. Note that I'm more used to
Hibernate than TopLink though, so the API could be a bit different, but I'm
prety sure you can do almost the same.


Regards,

~ Simon

On 9/12/06, Samba <saasira@gmail.com> wrote:
>
> Thank you  once again Simon,
>
> I understand that I shoiuld place a service request with Metalink.
>
> But before that Please clarify me one more thing:
>
> Can we get the EL access tio the methods that use TopLink
> ExpressionBuilder
> and all the other API(Which I'm not much familiar with).
>      But Dragging and dropping DataControls from the DataControl pallette
> saves a lot of time rather than writing  a few lines of code for each and
> every database related action that we do on a webpage!
> Can we get that drag and drop functionality with out ADF Bindings?
>      Thanking you heartfeltly(if  such a word exists!)
> Samba.
>
> On 9/12/06, Simon Lessard <simon.lessard.3@gmail.com> wrote:
> >
> > Hmmm,
> >
> > Have you tried the following using XHTML extension for Facelets as well?
> > Theorically it *should* work.
> >
> > <filter-mapping>
> >     <filter-name>adfBindings</filter-name>
> >     <url-pattern>*.xhtml</url-pattern>
> > </filter-mapping>
> > <filter-mapping>
> >     <filter-name>adfFaces</filter-name>
> >     <url-pattern>*.xhtml</url-pattern>
> > </filter-mapping>
> >
> >
> > Yet again, my suggestion would be to drop data controls altogether, this
> > is
> > hard when everyones know the technology, but ADF is not the best MV
> > separation ever invented, the evil pageDef makes me think about ASP that
> > remind me about IE which gives me nightmares. Furthermore, data controls
> > will most likely suffer deep changes with JEE 5 persitence with
> > annotations.
> >
> > If the above does not work (it should work though really) and you must
> use
> > data controls, I think you should fill a Metalink issue as they should
> not
> > be so tightly linked to page extension. Sorry that I cannot help much on
> > this issue, but it's really either a Facelets and/or ADF Databindings
> > (Oracle) issue and I cannot access the code of either to check what's
> > going
> > wrong.
> >
> >
> > Regards,
> >
> > ~ Simon
> >
> >
> > On 9/12/06, Samba <saasira@gmail.com> wrote:
> > >
> > > Thankyou very much Simon, for your detailed answer.
> > >
> > > I'm displaying  those database tables  in client pages, and not in
> > > templates, but still I could not access the Bindings in my backing
> bean,
> > > or
> > > get the table displayed.
> > > One more thing is For  pages(in the same
> > > facelets  application  where  faces
> > > servlet mapping is done for jsf)with out any Facelets tags in them
> also
> > ,
> > > I'm getting the same message Access denied for tables  and also the
> > > bindings
> > > are not called in method actions written for  commmandbuttons, in
> > backing
> > > bean.
> > > And when I change that we.xml entry to map faces servlet to jspx pages
> ,
> > > I'm
> > > getting ADF Bindings work, but facelets are not working in this
> format.
> > > Those two have become mutually exclusive thiings!
> > >
> > > I tried to change the  path attribue for <page> tag in
> > DataBindings.cpxfile
> > >                   from:
> > >
> > > <page path="/TestPage.jspx" usageId="TestPagePageDef"/>
> > >                         to
> > > <page path="/TestPage.jsf" usageId="TestPagePageDef"/>
> > > but still I did not  get the bindings work for jsf pages.
> > >
> > > How is that the bindings filter is  written to  work with only  jspx
> > > pages?
> > >
> > > Is this immutable?
> > > Can't we  use bindings in jsf format?
> > > Or may be  Is it that JDevloper is not recognising  the jsf file
> format?
> > >
> > > Thanking you for the support you are providing,,
> > > Samba.
> > >
> > >
> > > On 9/12/06, Simon Lessard <simon.lessard.3@gmail.com> wrote:
> > > >
> > > > As for the extension I think you should use .xhtml for everything
> when
> > > > using
> > > > Facelets. I don't remember if I actually succeeded using both
> > > techonology
> > > > together however.
> > > >
> > > > On 9/12/06, Simon Lessard <simon.lessard.3@gmail.com> wrote:
> > > > >
> > > > > Hello Samba,
> > > > >
> > > > > This is more an ADF issue than a Trinidad one. However, I will try
> > my
> > > > best
> > > > > to answer it. Data bindings uses a pageDef file, I assume you
> > already
> > > > found
> > > > > that out. However, Facelet uses templates based on different
> pages.
> > > The
> > > > > question thus arise, where do you place your bindings? In the main
> > > page
> > > > or
> > > > > the template. The answer, may be a bit unintuitive, but it's
> always
> > in
> > > > the
> > > > > page, never in the template, even if the binding is used in the
> > > > template.
> > > > >
> > > > > That is, if your template is displaying the table, if should not
> > have
> > > > the
> > > > > table defined in its pageDef, the table should instead be defined
> in
> > > the
> > > > > page using that that template so that ADF lifecycle load the
> > pageDef,
> > > > and
> > > > > thus the bindings, before the render phase (prepare model phase if
> I
> > > > > remember well). Since pages included by Facelets are never known
> > (and
> > > > cannot
> > > > > be) by ADF at that moment, their pageDef is NEVER ever read, so
> drag
> > &
> > > > drop
> > > > > from the binding pane in JDeveloper in combination with Facelets
> > > almost
> > > > > never work, you have to edit the pageDef manually. So my first
> > > > suggestion
> > > > > would be to check your pageDef files. My second suggestion, which
> is
> > > my
> > > > > preferred most of the time, especially with product like TopLink
> (as
> > > > opposed
> > > > > to BC4J), is to do it all programatically and drop databinding
> > > > altogether.
> > > > >
> > > > > Note, I think you would have more success on OTN for this issue,
> > Steve
> > > > Muench
> > > > > is probably the highest authority on that matter.
> > > > >
> > > > >
> > > > > Regards,
> > > > >
> > > > > ~ Simon
> > > > >
> > > > > Technically, Facelet actually only fill the component tree
> > > > >
> > > > >
> > > > > On 9/12/06, Samba <saasira@gmail.com> wrote:
> > > > > >
> > > > > > I'm getting ADF Faces and Facelets working properly with pages
> > > written
> > > > > > in
> > > > > > jspx format, but the Faces Servlet being mapped to jsf format.
> > > > > >
> > > > > > The problem I'm getting is while displaying ADF Tables with
data
> > > > > > retrieved
> > > > > > from the database using Toplink and bindings provided by ADF
> > > > > > Databindings.
> > > > > >
> > > > > > The following is the Web.xml mappings for Faces Servlet and
ADF
> > > > bindings
> > > > > > filter:
> > > > > >
> > > > > > <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>resources</servlet-name>
> > > > > > <url-pattern>/adf/*</url-pattern>
> > > > > > </servlet-mapping>
> > > > > >
> > > > > > <servlet-mapping>
> > > > > > <servlet-name>Faces Servlet</servlet-name>
> > > > > > <url-pattern>*.jsf</url-pattern>
> > > > > > </servlet-mapping>
> > > > > >
> > > > > >
> > > > > > <filter>
> > > > > > <filter-name>adfBindings</filter-name>
> > > > > > <filter-class>oracle.adf.model.servlet.ADFBindingFilter
> > > </filter-class>
> > > > > > </filter>
> > > > > >
> > > > > > <filter-mapping>
> > > > > > <filter-name>adfBindings</filter-name>
> > > > > > <url-pattern>*.jsp</url-pattern>
> > > > > > </filter-mapping>
> > > > > >
> > > > > > <filter-mapping>
> > > > > > <filter-name>adfBindings</filter-name>
> > > > > > <url-pattern>*.jspx</url-pattern>
> > > > > > </filter-mapping>
> > > > > >
> > > > > >
> > > > > > I'm getting the ADF tables displayed using ADF Bindings, if
the
> > > faces
> > > > > > servlet is mapped for jspx format;but, at the cost of losing
> > > > > > Facelets...Facelets is not working with Faces Servlet mapped
to
> > jspx
> > > > > > format(though written in jspx format, the faces servlet mappping
> > has
> > > > to
> > > > > > be
> > > > > > made for jsf format.On the other hand, if I use faces servlet
> > > mapping
> > > > > > for
> > > > > > jsf pages I'm getting Facelets working but ADF Databindings
are
> > not
> > > > > > working
> > > > > > ,(I guess) and hence ADF Faces Tables are not being
> displayed(I'm
> > > > > > getting
> > > > > > Access Denied message).
> > > > > >
> > > > > > I even tried to change the ADF binding filter mappings
> > > > > >
> > > > > > ---- from ---- jsp &jspx---- to ----- jsp and jsf ----
> > > > > >
> > > > > > But I got the same Access denied message.
> > > > > >
> > > > > >
> > > > > > Suppose,
> > > > > >
> > > > > > I need customised display, rather than just a Table or
> Form,like:
> > > > > >
> > > > > > public String getEmp() {
> > > > > > BindingContainer bindings = getBindings();
> > > > > > OperationBinding operationBinding =
> > > > > > bindings.getOperationBinding("findAllEmp");
> > > > > > Object result = operationBinding.execute();
> > > > > > if (!operationBinding.getErrors().isEmpty()) {
> > > > > > return null;
> > > > > > }
> > > > > >
> > > > > > List<Emp> res=(List<Emp>)result;
> > > > > > for(int i=0;i<res.size();i++)
> > > > > > {
> > > > > > Emp myrec=res.get(i);
> > > > > > System.out.println("Employee ["+myrec.getEname()+"], Salary
> > > > > > ["+myrec.getSal()+"]");
> > > > > > }
> > > > > > return "";
> > > > > > }
> > > > > >
> > > > > > where I do some customisation in the backing bean.
> > > > > >
> > > > > > and I call that method binded to a button as below:
> > > > > >
> > > > > >
> > > > > > ><af:commandButton
> > > > > > text="findAllEmp"
> > > > > > disabled="#{!bindings.findAllEmp.enabled}"
> > > > > > binding="#{backing_Success.commandButton1}"
> > > > > > id="commandButton1"
> > > > > > action="#{backing_Success.getEmp}"/>
> > > > > >
> > > > > > What I'm getting is a disabled button.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Why doesn't ADF bindings servlet invoke the faces Servlet?
> > > > > > Can't we make ADF Bindings Servlet invoke Faces Servlet by
> > > configuring
> > > > > > in
> > > > > > the web.xml?
> > > > > >
> > > > > > Can't we get ADF Bindings filter mapped to work with jsf pages?
> > > > > > Won't ADF Bindings work with jsf pages, will they work only
with
> > > jspx
> > > > > > pages?
> > > > > >
> > > > > > ,
> > > > > > Please Help me.
> > > > > >
> > > > > >
> > > > > > Thanking you,
> > > > > > -
> > > > > > Regards,
> > > > > > Samba.
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Vuntaanu...
> > > Samba.
> > >
> > >
> >
> >
>
>
> --
> Vuntaanu...
> Samba.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message