Damn, get an exception with f:attribute. I thought that should work. To do <h:commandLink action="college"/> I would have to do a choose/when condition checking the value of #{linkPage} which can have like 12 different values. Seems like a messy solution to me.
Shawn -----Original Message----- From: Garner, Shawn Sent: Tuesday, January 17, 2006 10:29 AM To: 'MyFaces Discussion' Subject: RE: Problem hardcoding commandLink action outcome How about using the f:attribute tag for name="action"? Shawn -----Original Message----- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 17, 2006 10:21 AM To: MyFaces Discussion Subject: Re: Problem hardcoding commandLink action outcome You are correct. It's trying to resolve it as a method binding. You need to either use <h:commandLink action="#{yourBean.yourMethodReturningCollegeAsAString}"/> or <h:commandLink action="college"/> The attribute "action" takes only a string literal or a method binding that returns a String. It does not take a value binding that evaluates to a String. So if you need the action target to be variable, you need to write java code to perform this logic. Possibly you could use some kind of JSP EL expression instead of a JSF EL expression, but I wouldn't recommend this approach. On 1/17/06, Garner, Shawn <[EMAIL PROTECTED]> wrote: > > > > I'm trying to hardcode the action to "college" which is in the linkPage > request scope variable. > > I think it's trying to resolve it as a bean action or something instead of > an outcome. > > Can somebody help me with how to do this. > > > > linkPage: <h:outputText value="#{linkPage}"/><br> > > <h:commandLink action="#{linkPage}" value="#{linkText}"/> > > > > This prints out: > > > > linkPage: college > Modify Your Answer > > > > > > I want it to resolve as if I put in <h:commandLink action="college" > value="Modify Your Answer"/> > > > > However when I click on the link I get: javax.faces.FacesException: Error > calling action method of component with id _id1:_id15 > at > org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListen erImpl.java:74) > at > javax.faces.component.UICommand.broadcast(UICommand.java:106) > at > javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90) > at > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164) > at > org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.j ava:316) > at > org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86) > at > javax.faces.webapp.FacesServlet.service(FacesServlet.java:106) > at > jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91) > at > jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) > at > jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259) > at > jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541) > at > jrun.servlet.http.WebService.invokeRunnable(WebService.java:172) > at > jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428 ) > at > jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) > Caused by: javax.faces.el.ReferenceSyntaxException: > Expression not a valid method binding: #{linkPage} > at > org.apache.myfaces.el.MethodBindingImpl.resolveToBaseAndProperty(MethodBindi ngImpl.java:186) > at > org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:114) > at > org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListen erImpl.java:63) > ... 13 more > > > > > > > > > Shawn D. Garner > > Software Developer > > CASD EAI I > > Internet Development > > > > Email: [EMAIL PROTECTED] > > Work: (319) 665-7796 > > Cell: (319) 480-4409 > > > > Pearson Government Solutions > > 2450 Oakdale Blvd > > Coralville, IA 52241 > > > > **************************************************************************** > > This email may contain confidential > material. If you were not an intended recipient, > Please notify the sender and delete all copies. > We may monitor email to and from our network. > > *************************************************************************** > **************************************************************************** This email may contain confidential material. If you were not an intended recipient, Please notify the sender and delete all copies. We may monitor email to and from our network. **************************************************************************** **************************************************************************** This email may contain confidential material. If you were not an intended recipient, Please notify the sender and delete all copies. We may monitor email to and from our network. ****************************************************************************