You actually DO need commandLink's to be nested inside of a form. MyFaces has a convenience where it will create a dummy form for commandLink's that aren't inside of a form, but this is not to spec. What I was saying is that you don't need SEPARATE forms for all 3 commandLinks. You can use one form for everything, your commandLinks and your data.
I know how you feel. 6 months ago, I was doing the same thing. Now, I'm getting close to expert level. MyFaces is really awesome, just stick with it! On Tue, 11 Jan 2005 16:30:33 -0500, Rick Reumann <[EMAIL PROTECTED]> wrote: > Thanks Heath for you reply! For some reason I swore that I used to get > errors when I didn't nest commandLink within h:form. I guess it can > stand alone? Very nice. > > Concerning my question 2 with the include file removing the from-view-id > did the trick - well that coupled with me fixing the typo - I didn't > realize that I had a verabtim tag around the wrong section. (Surprised > it actually ran ok the way it was without throwing a syntax error.) > > Regardless, all seems well now and my frustration (for the moment:) has > subsided. I feel like I'm back to square one like I was when I first > started with Struts and you start cursing at the computer because you > can't figure out why things aren't working as you expect:) > > Heath Borders wrote the following on 1/11/2005 3:56 PM: > > 1. On each commandLink or commandButton, you have two things you can > > specify: action and actionListener. The actionListener gets called > > after the link is clicked and all your data successfully updates to > > your managed beans. It executes the business logic you need. The > > action you specify is passed to your the navigation handler to tell it > > what page to direct the user to. > > > > In general, you shouldn't need multiple forms on a page for cases like > > this. You just need different actions for your commandLinks. > > > > > 2. What we are doing in our app is using stateless navigation cases. > > What this means is that you can go anywhere from anywhere. > > > > As far as I see it, the <from-view-id> is just a way of defining a > > namespace for the navigation cases. So, just get rid of the > > <from-view-id>s and you should be good to go. > > > > > > On Tue, 11 Jan 2005 15:04:03 -0500, Rick Reumann <[EMAIL PROTECTED]> wrote: > > > >>I know this isn't the main list for JSF and my questions below aren't > >>MyFaces related, but this seems to be a more lively list than the yahoo > >>group so maybe someone can help. > >> > >>My newbie-ness is showing here but I have two questions and the book I > >>own on JSF doesn't seem to provide the answer (or else it does and I > >>just haven't found it). > >> > >>Question 1: > >> > >>Take a typical example where you have a menu of links... > >> > >>View Really Cool Chart > >>Check your account status > >>View Some Amazing Report > >> > >>When the user clicks on one of these exciting links it needs to invoke > >>some kind of action (in the JSF world I guess this would be a backing > >>bean) so that the proper business logic takes place in the background > >>and you are then forwarded to the proper displaying JSP. Using Struts > >>this was very clean since each link could map to an Action in my > >>struts-config file. > >> > >>How do I accomplish the above with JSF? Is the easiest to use > >>commandLink and wrap each link in <h:form>..</h:form>? That seems a bit > >>verbose but if that's the typical practice I can deal with it. Remember > >>each link could need to access a totally different object(backing bean.) > >>It seems awkward to have to nest each link inside of <h:form> > >> > >>Question 2: > >> > >>This should be simple, but I'm stumped. If I include a menu.jsp file on > >>a page that is basically a bunch of links, how do I set up the faces > >>config file for the from-view-id? Assuming home.jsp includes menu.jsp I > >>can't seem to get the links to work from menu.jsp regardless if I use > >>menu.jsp or home.jsp for the from-view-id. I even tried use the wilcard > >>* and the menu still doesn't work (page compiles and displays links > >>fine, but links do not result in appropriate pages being called). If I > >>move the code out of being an include file and paste it directly into > >>home.jsp the links work fine. > >> > >>Here are the three relevant files. (using header.jsp insted of menu.jsp > >>for this example. Also, is there a way to avoid all this f:verbatim code > >>in the include file? It sure make sthe code difficult to read and it > >>doesn't seem nice. I should be able to include any files - JSF seems to > >>require me to really edit files that I want to include). > >> > >>header.jsp (what gets included) > >>------------ > >><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> > >><%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> > >><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> > >><f:verbatim> > >> <h1> > >></f:verbatim> > >><h:outputText value="#{msgs.employeeApp}"/> > >><f:verbatim> > >> </h1> > >> <h:form> > >> <h:commandLink > >>action="#{employeeBacking.setUpForAdd}"><h:outputText > >>value="#{msgs.addEmployee}"/></h:commandLink> > >> <f:verbatim> > >> <div class="spacer"> </div> > >> </f:verbatim> > >> <h:commandLink > >>action="#{employeeBacking.getEmployees}"><h:outputText > >>value="#{msgs.viewEmployees}"/></h:commandLink> > >> </h:form> > >></f:verbatim> > >> > >>home.jsp > >>--------- > >><html> > >><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> > >><%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> > >><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> > >> > >><f:view> > >> <head> > >> <f:loadBundle basename="net.reumann.messages" var="msgs"/> > >> <title><h:outputText value="#{msgs.employeeApp}"/></title> > >> <link href="main.css" rel="stylesheet" type="text/css"/> > >> </head> > >> <body> > >> <f:facet name="header"> > >> <f:subview id="header"> > >> <c:import url="header.jsp"/> > >> </f:subview> > >> </f:facet> > >> </body> > >></f:view> > >></html> > >> > >>my-faces-config > >>---------------- > >> > >><navigation-rule> > >> <from-view-id>???tried several here???</from-view-id> > >> <navigation-case> > >> <from-outcome>toEmployeeForm</from-outcome> > >> <to-view-id>/employeeForm.jsp</to-view-id> > >> </navigation-case> > >> <navigation-case> > >> <from-outcome>toList</from-outcome> > >> <to-view-id>/employeeList.jsp</to-view-id> > >> </navigation-case> > >></navigation-rule> > >> > > > > > > -- > Rick > -- -Heath Borders-Wing [EMAIL PROTECTED]

