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 12:40:14 GMT
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.
>
>

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