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 20:23:11 GMT
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.
>
>

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