You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Gary VanMatre <gv...@comcast.net> on 2006/02/01 01:33:18 UTC

Re: [shale] subview not talking to a backing bean

>From: Jason Vincent <jt...@gmail.com> 
>
> Hey there, 
> 
> I have a header.jsp file that is included in all my jsps: 
> 
> 
> 
> 
> 
> or if the including jsp was in a subdirectory... 
> 
> 
> 
> 
> 
> inside the header.jsp I'm trying to call a request scope backing bean 
> to call a method to dynamically build some javascript. 
> 
> 
> 
> Here is my managed bean definition: 
> 
> header 
> 
> com.prenet.cpt.presentation.Header 
> request 
> 
> 
> The problem is that the header.isAdmin() method is not being called. 
> And futhermore the default constructor for the Header.java class isn't 
> being called. the Header class is not a ViewController as it 
> doesn't match the url-to-bean mapping for whatever page I'm on. 
> 
> What could be going on here? Is there something speacial that has to 
> be done in a subview? 
> 

It doesn't sound like the target page is defined as a JSP page.  Since you are
using a jsp include, the target page needs to have the jsp page directive at
the top of the file.   If you are using the older style it would look like this:
<%@page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@ taglib prefix="s" uri="http://struts.apache.org/shale/core" %>

You could try using the include directive which will merge the 
pages into one unit.

<%@include file="header.jsp"%>


> Thanks, 
> Jason 
> 

Gary

> --------------------------------------------------------------------- 
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org 
> For additional commands, e-mail: user-help@struts.apache.org 
> 

Re: [shale] subview not talking to a backing bean

Posted by Jason Vincent <jt...@gmail.com>.
Thanks for the response.

The header.jsp does indeed have the page directive at the top.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="include.jsp" %>
the include.jsp has the taglib includes in it.

There are other items in the header.jsp that are using the JSF-EL to
access attributes in the session that are rendering fine, so I know
the JSP is getting rendered as a jsp.  hmmmm.

for your other suggestion, using the include directive would "may" not
work for me as the header file is included by other jsps that are in
different levels of directories.  I had chossen to do the jsp:include
over the directive, because of previous relative urls in the header,
that are now gone.  I'll give it a shot - but I'd prefer to figure out
why the jsp:include isn't working as expected.

I think my issue is that the backing bean isn't getting instantiated
on the request for the subview.  Is there some rule about how subviews
can't talk to different backing beans? Perhaps Shale is doing
something to the request?

Any further ideas?
Jason


On 1/31/06, Gary VanMatre <gv...@comcast.net> wrote:
> >From: Jason Vincent <jt...@gmail.com>
> >
> > Hey there,
> >
> > I have a header.jsp file that is included in all my jsps:
> >
> >
> >
> >
> >
> > or if the including jsp was in a subdirectory...
> >
> >
> >
> >
> >
> > inside the header.jsp I'm trying to call a request scope backing bean
> > to call a method to dynamically build some javascript.
> >
> >
> >
> > Here is my managed bean definition:
> >
> > header
> >
> > com.prenet.cpt.presentation.Header
> > request
> >
> >
> > The problem is that the header.isAdmin() method is not being called.
> > And futhermore the default constructor for the Header.java class isn't
> > being called. the Header class is not a ViewController as it
> > doesn't match the url-to-bean mapping for whatever page I'm on.
> >
> > What could be going on here? Is there something speacial that has to
> > be done in a subview?
> >
>
> It doesn't sound like the target page is defined as a JSP page.  Since you are
> using a jsp include, the target page needs to have the jsp page directive at
> the top of the file.   If you are using the older style it would look like this:
> <%@page contentType="text/html;charset=UTF-8"%>
> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
> <%@ taglib prefix="s" uri="http://struts.apache.org/shale/core" %>
>
> You could try using the include directive which will merge the
> pages into one unit.
>
> <%@include file="header.jsp"%>
>
>
> > Thanks,
> > Jason
> >
>
> Gary
>
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > For additional commands, e-mail: user-help@struts.apache.org
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org