Mick, What I sent you is files from a working example :-)
Not sure why you're having issues, but you can certainly fetch the users as a List rather than a DataModel. In two years of working with JSF, I've never needed to use DataModel. One possible issue is that my example has the form in the layout template, not in each page. Perhaps you didn't notice that, and no longer have a form on the page? On 2/27/07, Mick Knutson <[EMAIL PROTECTED]> wrote:
I updated what you sent, and have some issues still. 1. I tried using the List users; but the form did you come up at all. So I changed it to: public ListDataModel getUsers(); Then when I did that, I get this error: java.lang.IllegalArgumentException: Link is not embedded in a form. Change component/tag '_id2:0:userpk' from javax.faces.*/<h:tagName /> to org.apache.myf aces.*/<t:tagName />, or embed it in a form. This is not a bug. Please see: http://wiki.apache.org/myfaces/Upgrading_to_Tomahawk_1.1.3 The path to this co mponent is {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /views/admin/users.xhtml][Class: org.apache.myfaces.component.html.ext.HtmlDa taTable,Id: _id2][Class: javax.faces.component.UIColumn,Id: _id3][Class: javax.faces.component.html.HtmlCommandLink,Id: userpk]}. If you need to render a s pecial form and a JSF-form's attributes are not enough,consider using the s:form tag of the MyFaces sandbox. On 2/26/07, Mike Kienenberger <[EMAIL PROTECTED]> wrote: > Not sure why this bounced as spam. Maybe it was the zip attachment. > Trying the pieces as individuals. > > ---------- Forwarded message ---------- > From: Mike Kienenberger < [EMAIL PROTECTED]> > Date: Feb 26, 2007 11:56 PM > Subject: Re: t:datatable with commandLink and parameter > To: MyFaces Discussion <users@myfaces.apache.org> > Cc: [EMAIL PROTECTED] > > > Here's an example showing what you want. > > I tried to preserve all of the various things you were trying to > demonstrate while deleting the unnecessary parts :-) > > Here's some of the bigger issues: > > - You were setting the username rather than the user on the detail page. > - You were using t:saveState on your table page's user object. Thus, > you'd set the user/username, and then promptly lose it when the table > page overwrote the value back to null. > - You were trying to saveState the value of users (the list of users) > on the table page, but in reality, this was a constant function call, > not a settable value. I demonstrated one possible way to do this, > but there are many. > > Some minor things: > - You don't need to mess with ListDataModel. Just return a list of your items. > - You were initializing the value of user. Just leave it null. > > Best practices: > - Stick a single form in your template. Use sandbox:subForm if you > want to have virtual forms on each content page. > > I assume you're using prepareForEdit to fetch or create a mutable > version of the user. If that's not the case, simply change your > button to action="<Constants.EDIT>" instead of action="#{bean.method}" > since you don't need to execute any java code. Note that I changed > this to user = manager.getUser(user) instead of getUser(username) in > order to keep the example simple. If you don't plan on editing the > user directly, I'd dump the "user" variable, and save the username of > the selected user instead. > > <t:updateActionListener > property="#{userBackingBean.selectedUsername}" > value="#{user.userName}"> > > > If possible, consider cleaning up and simplifying this even further > and making it available either on a wiki page or as a myfaces example. > > > On 2/26/07, Mick Knutson <[EMAIL PROTECTED]> wrote: > > I am still having issues it seems. I can display the table just fine and > > then when I click the link, I get sent to > > UserBackingBeanImpl.prepareForEdit() then to my edit user > > form, but there is still no data shown. > > > > I have attached the 2 xhrml files and the UserBackingBeanImpl.java file > > here.. > > > > I really appreciate your help. > > > > > > > > On 2/23/07, Mike Kienenberger <[EMAIL PROTECTED] > wrote: > > > The following should work. > > > > > > <t:saveState id="user" value="#{ userBackingBean.user}" /> > > > > > > You'll want to set this on the "receiving" page, the page with the > > > editable form (user detail page). You can also preserve values > > > across pages by putting the same t:saveState on both pages with the > > > same id. > > > > > > You'll need to be sure that the id is unique (I generally use the page > > > name followed by the item to preserve, ie. viewUsersPageSelectedUser. > > > > > > The other thing you need to be sure of is that your UIData list is > > > also preserved, but preserveDataModel="true" should work. I normally > > > use a t:saveState to do this, though, and never preserveDataModel. > > > > > > > > > <t:saveState id="viewUsersPageUserList" value="#{ userBackingBean.users}" > > /> > > > > > > > > > On 2/23/07, Mick Knutson < [EMAIL PROTECTED]> wrote: > > > > The only thing I am trying to do is view a list of users. Then be able > > to > > > > click the username, pull up that user in an editable form. > > > > > > > > > > > > > > > > > > > > > > > > On 2/23/07, Mick Knutson <[EMAIL PROTECTED]> wrote: > > > > > Because I am using the jsf-acegi in my app, I can't make everything > > > > session scoped as it gives me these strange errors so I changed them all > > > > back to request. > > > > > > > > > > > > > > > So how should I implement this t:saveState ??? On my userTable.xhtml: > > > > > > > > > > <x:saveState id="user" value="#{userBackingBean.user}" /> > > > > > ??? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/23/07, Mike Kienenberger < [EMAIL PROTECTED]> wrote: > > > > > > Not enough information, but my guess is that userBackingBean is > > > > > > request-scoped and not being preserved across requests. An easy > > > > > > test is to make it session-scoped temporarily and see if that works. > > > > > > If it does, a better fix in my opinion is to either use t:saveState > > on > > > > > > userBackingBean.user (if you don't need to preserve the whole bean) > > or > > > > > > userBackingBean (if you do). > > > > > > > > > > > > On 2/23/07, Mick Knutson < [EMAIL PROTECTED]> wrote: > > > > > > > Ok, thanks. > > > > > > > > > > > > > > But now, I have a UserBackingBean.user = > > > > > > > manager.getUser(user.getUsername()); > > > > > > > > > > > > > > then: > > > > > > > outcome = Constants.SUCCESS; > > > > > > > > > > > > > > But the form does not display any of the user variables. Hence I > > > > thought I > > > > > > > had to bind those variables which was wrong..... > > > > > > > > > > > > > > You help is greatly appreciated by the way... :-) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/23/07, Mike Kienenberger < [EMAIL PROTECTED] > wrote: > > > > > > > > binding="#{ userBackingBean.user.username}" is the cause of this > > > > error. > > > > > > > > It's attempting to assign the HtmlInputText component to the > > value > > > > of > > > > > > > username. > > > > > > > > > > > > > > > > "binding" is for getting a reference to the component on a page > > into > > > > > > > > your backing bean. > > > > > > > > > > > > > > > > On 2/23/07, Mick Knutson < [EMAIL PROTECTED]> wrote: > > > > > > > > > The issue was in my method signature. I needed to have no > > > > parameters in > > > > > > > the > > > > > > > > > action. > > > > > > > > > > > > > > > > > > > > > > > > > > > With that completed, there seems to be another issue now. > > > > > > > > > Caused by: > > javax.faces.el.EvaluationException: > > > > Bean: > > > > > > > > > com.baselogic.tro.user.User , property: username, newValue: > > > > > > > > > [EMAIL PROTECTED] > > > > > > > > > 90c56,newValue class: > > > > > > > > > javax.faces.component.html.HtmlInputText > > method > > > > > > > parameter > > > > > > > > > class: java.lang.String > > > > > > > > > at > > > > > > > > > > > > > org.apache.myfaces.el.PropertyResolverImpl.setProperty > > > > > > > > > (PropertyResolverImpl.java:414) > > > > > > > > > at > > > > > > > > > > > > > org.apache.myfaces.el.PropertyResolverImpl.setValue > > > > > > > (PropertyResolverImpl.java:176) > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.el.LegacyELContext$LegacyELResolver.setValue(LegacyELContext.java > > > > > > > > > :201) > > > > > > > > > at > > > > > > > > > > > com.sun.el.parser.AstValue.setValue(AstValue.java > > > > :113) > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > com.sun.el.ValueExpressionImpl.setValue > > (ValueExpressionImpl.java:246) > > > > > > > > > at > > > > > > > com.sun.facelets.el.TagValueExpression.setValue ( > > > > > > > > > TagValueExpression.java:93) > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.el.LegacyValueBinding.setValue(LegacyValueBinding.java:68) > > > > > > > > > ... 67 more > > > > > > > > > Caused by: > > java.lang.IllegalArgumentException : > > > > argument > > > > > > > > > type mismatch > > > > > > > > > at > > > > > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke0 (Native > > > > > > > Method) > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) > > > > > > > > > at > > > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke > > > > > > > ( DelegatingMethodAccessorImpl.java > > > > > > > > > :25) > > > > > > > > > at java.lang.reflect.Method.invoke(Method.java:585) > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.myfaces.el.PropertyResolverImpl.setProperty > > (PropertyResolverImpl.java > > > > > > > :409) > > > > > > > > > ... 73 more > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > My #{ userBackingBean.user.username} is a String as it should > > be > > > > as this > > > > > > > is > > > > > > > > > just a POJO > > > > > > > > > > > > > > > > > > <h:inputText value="#{ userBackingBean.user.username > > }" > > > > > > > > > size="30" > > > > > > > > > required="true" > > > > > > > > > id="username" > > > > > > > > > > > > > > > > binding="#{userBackingBean.user.username }" > > > > > > > > > > > > > > > > > > > <f:validateLength minimum="2"/> > > > > > > > > > </h:inputText> > > > > > > > > > > > > > > > > > > > > > > > > > > > User.username: > > > > > > > > > > > > > > > > > > public String getUsername() { > > > > > > > > > return username; > > > > > > > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/23/07, Mike Kienenberger < [EMAIL PROTECTED]> wrote: > > > > > > > > > > Add an id field to make sure it's an error for the > > t:commandLink > > > > you > > > > > > > > > posted. > > > > > > > > > > > > > > > > > > > > is there more stack trace available? I'm guessing it's a > > > > problem with > > > > > > > > > > userBackingBean.prepareForEdit(). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <t:commandLink action="#{ > > > > > > > > > > userBackingBean.prepareForEdit}"> > > > > > > > > > > <h:outputText > > > > > > > > > value="#{ user.username}"/> > > > > > > > > > > <t:updateActionListener > > > > > > > > > > property="#{ userBackingBean.user.username > > > > > > > > > > }" value="#{user.username}"/> > > > > > > > > > > </t:commandLink> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/23/07, Mick Knutson < [EMAIL PROTECTED] > wrote: > > > > > > > > > > > I got the form to come up, but when I click the username > > link, > > > > I get > > > > > > > > > this > > > > > > > > > > > error: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > javax.servlet.ServletException: Error calling action > > method of > > > > > > > component > > > > > > > > > > > with id usersForm:_id2:0:_id5 > > > > > > > > > > > javax.faces.webapp.FacesServlet.service > > > > > > > > > > > (FacesServlet.java :154) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter > > > > (ExtensionsFilter.java:147) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java > > :264) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke > > > > > > > > > > > ( FilterSecurityInterceptor.java :107) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter > > > > (FilterSecurityInterceptor.java :72) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > > > (FilterChainProxy.java > > > > > > > > > > > :274) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java > > :110) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > (FilterChainProxy.java > > > > > > > > > :274) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter > > > > > > > > > > > > > (SecurityContextHolderAwareRequestFilter.java > > > > :81) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > > > (FilterChainProxy.java:274) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter > > > > > > > > > > > ( > > > > HttpSessionContextIntegrationFilter.java:229) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > > > (FilterChainProxy.java:274) > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy.doFilter > > > > > > > (FilterChainProxy.java :148) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java > > :98) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is the users.xhtml form: > > > > > > > > > > > > > > > > > > > > > > <h:form id="usersForm"> > > > > > > > > > > > <t:dataTable value="#{ > > > > > > > > > > > userBackingBean.users }" > > > > > > > > > > > var="user" > > > > > > > > > > > preserveDataModel="true" > > > > > > > > > > > styleClass="users" > > > > > > > > > > > headerClass="usersHeader" > > > > > > > > > > > > > > > > > > > > > > rowClasses="evenRow, oddRow" > > > > > > > > > > > columnClasses="username,name" > > > > > > > > > > > border="0" > > > > > > > > > > > > > > > > > > > > > > > <h:column> > > > > > > > > > > > > > > > > > > > > > > <f:facet name="header"> > > > > > > > > > > > <h:outputText value="#{messages['label.username ']}"/> > > > > > > > > > > > </f:facet> > > > > > > > > > > > <t:commandLink action="#{ > > > > > > > > > > > userBackingBean.prepareForEdit }"> > > > > > > > > > > > <h:outputText value="#{ user.username}"/> > > > > > > > > > > > <t:updateActionListener > > > > property="#{ userBackingBean.user.username > > > > > > > > > > > }" value="#{ user.username }"/> > > > > > > > > > > > </t:commandLink> > > > > > > > > > > > </h:column> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is the faces-config: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <!-- Edit User --> > > > > > > > > > > > <navigation-rule> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <from-view-id>/views/admin/users.xhtml</from-view-id> > > > > > > > > > > > > > > > > > > > > > > <navigation-case> > > > > > > > > > > > > > <from-action>prepareForEdit</from-action> > > > > > > > > > > > > > > > > > > > > > > <to-view-id>/views/admin/updateUser.xhtml</to-view-id> > > > > > > > > > > > > > > > > > > > > > > </navigation-case> > > > > > > > > > > > <navigation-case> > > > > > > > > > > > <from-outcome>clear</from-outcome> > > > > > > > > > > > > > > > <to-view-id>/views/admin/users.xhtml</to-view-id> > > > > > > > > > > > <redirect/> > > > > > > > > > > > > > > > > > > > > > > </navigation-case> > > > > > > > > > > > </navigation-rule> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/22/07, Mike Kienenberger < [EMAIL PROTECTED] > > > wrote: > > > > > > > > > > > > You have to include the tag handler java class as well. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://wiki.apache.org/myfaces/Use_Facelets_with_Tomahawk#updateActionListener > > > > > > > > > > > > > > > > > > > > > > > > On 2/22/07, Mick Knutson < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > I tried to add this to my facelets tag hander like: > > > > > > > > > > > > > > > > > > > > > > > > > > <tag> > > > > > > > > > > > > > > > > > > > > <tag-name>updateActionListener</tag-name> > > > > > > > > > > > > > > > > > > > > > > > > > > <handler-class> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.myfaces.custom.updateactionlistener.UpdateActionListener > > > > > > > > > > > > > </handler-class> > > > > > > > > > > > > > </tag> > > > > > > > > > > > > > > > > > > > > > > > > > > </facelet-taglib> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > and I tried: > > > > > > > > > > > > > > > > > > > > > > > > > > <tag> > > > > > > > > > > > > > > > > > > > > <tag-name>updateActionListener</tag-name> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <handler-class>org.apache.myfaces.custom.updateactionlistener.UpdateActionListenerTag > > > > > > > > > > > > > </handler-class> > > > > > > > > > > > > > </tag> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > but still get this error: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 15:25:46,696 ERROR [STDERR] Feb 22, 2007 3:25:46 PM > > > > > > > > > > > > > com.sun.facelets.FaceletViewHandler > > > > > > > > > initializeCompiler > > > > > > > > > > > > > SEVERE: Error Loading Library: > > > > > > > > > > > > > > > > > > > > > > /WEB-INF/facelets/tags/tomahawk.taglib.xml > > > > > > > > > > > > > java.io.IOException: Error parsing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [jndi:/localhost/tro/WEB-INF/facelets/tags/tomahawk.taglib.xml]: > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > com.sun.facelets.compiler.TagLibraryConfig.create > > > > > > > > > > > > > (TagLibraryConfig.java:396) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.FaceletViewHandler.initializeCompiler > > > > > > > > > (FaceletViewHandler.java :281) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.FaceletViewHandler.initialize(FaceletViewHandler.java:184) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.FaceletViewHandler.renderView > > > > > > > > > ( FaceletViewHandler.java:421) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.myfaces.lifecycle.LifecycleImpl.render > > > > > > > > > > > > > ( LifecycleImpl.java :132) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter > > > > > > > > > (ApplicationFilterChain.java :173) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > (FilterChainProxy.java:264) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke > > > > > > > > > > > > > (FilterSecurityInterceptor.java :107) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter > > > > > > > > > (FilterSecurityInterceptor.java > > > > > > > > > > > :72) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > > > > > > > ( FilterChainProxy.java:274) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter > > > > ( ExceptionTranslationFilter.java > > > > > > > > > > > :110) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > > > (FilterChainProxy.java > > > > > > > > > > > > > :274) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter > > > > > > > > > > > ( > > SecurityContextHolderAwareRequestFilter.java > > > > :81) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > > > > > > > (FilterChainProxy.java:274) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter > > > > > > > > > > > (HttpSessionContextIntegrationFilter.java > > > > :229) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter > > > > > > > > > > > > > ( FilterChainProxy.java:274) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterChainProxy.doFilter > > > > > > > > > > > (FilterChainProxy.java :148) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.acegisecurity.util.FilterToBeanProxy.doFilter > > > > > > > (FilterToBeanProxy.java :98) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter > > > > > > > > > > > ( ApplicationFilterChain.java :202) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter > > > > (ApplicationFilterChain.java:173) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationDispatcher.invoke > > > > > > > > > > > > > ( ApplicationDispatcher.java :672) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationDispatcher.processRequest > > > > (ApplicationDispatcher.java:463) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationDispatcher.doForward > > > > > > > > > > > (ApplicationDispatcher.java > > > > > > > > > > > > > :398) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationDispatcher.forward > > > > > > > > > (ApplicationDispatcher.java:301) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > org.apache.jasper.runtime.PageContextImpl.doForward > > > > > > > > > > > (PageContextImpl.java:703) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.jasper.runtime.PageContextImpl.forward > > > > > > > > > > > > > ( PageContextImpl.java:670) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > org.apache.jsp.index_jsp._jspService > > > > > > > (index_jsp.java:57) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.jasper.runtime.HttpJspBase.service > > > > > > > > > (HttpJspBase.java :97) > > > > > > > > > > > > > at > > > > > > > javax.servlet.http.HttpServlet.service > > > > > > > > > > > > > (HttpServlet.java :810) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > org.apache.jasper.servlet.JspServletWrapper.service > > > > > > > > > > > ( JspServletWrapper.java:332) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.jasper.servlet.JspServlet.serviceJspFile ( > > > > JspServlet.java :314) > > > > > > > > > > > > > at > > > > > > > > > org.apache.jasper.servlet.JspServlet.service > > > > > > > > > > > > > ( JspServlet.java:264) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter > > > > > > > > > (ApplicationFilterChain.java:252) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter > > > > > > > (ReplyHeaderFilter.java :96) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter > > > > > > > > > > > > > ( ApplicationFilterChain.java :202) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java > > > > > > > > > > > :173) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.StandardWrapperValve.invoke > > > > (StandardWrapperValve.java > > > > > > > > > > > > > :213) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.StandardContextValve.invoke > > > > ( > > > > > > > > > StandardContextValve.java > > > > > > > > > > > :178) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java :175) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.jboss.web.tomcat.security.JaccContextValve.invoke > > > > > > > (JaccContextValve.java > > > > > > > > > > > :74) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.valves.ErrorReportValve.invoke > > > > > > > > > > > > > (ErrorReportValve.java:105) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.core.StandardEngineValve.invoke > > > > > > > > > (StandardEngineValve.java:107) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.catalina.connector.CoyoteAdapter.service > > > > > > > (CoyoteAdapter.java:148) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.coyote.http11.Http11Processor.process > > > > > > > > > (Http11Processor.java :869) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection > > > > (Http11BaseProtocol.java:664) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket > > > > > > > > > > > > > ( PoolTcpEndpoint.java:527) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.tomcat.util.net.MasterSlaveWorkerThread.run > > > > > > > > > (MasterSlaveWorkerThread.java > > > > > > > > > > > :112) > > > > > > > > > > > > > at java.lang.Thread.run(Thread.java:595) > > > > > > > > > > > > > Caused by: org.xml.sax.SAXException : Error Handling [ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > jndi:/localhost/tro/WEB-INF/facelets/tags/[EMAIL PROTECTED] > > > > > > > > > ,107] > > > > > > > > > > > > > <handler-class> > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.compiler.TagLibraryConfig$LibraryHandler.endElement (TagLibraryConfig.java > > > > :258) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.parsers.AbstractSAXParser.endElement > > > > > > > > > > > > > (Unknown Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope > > > > > > > > > (Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement > > > > > > > (Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.impl.dtd.XMLDTDValidator.endElement > > > > > > > > > > > > > (Unknown Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement > > > > (Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch > > > > (Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument > > > > > > > > > > > (Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.parsers.DTDConfiguration.parse > > > > > > > > > (Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > org.apache.xerces.parsers.DTDConfiguration.parse > > > > > > > > > > > > > (Unknown Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > org.apache.xerces.parsers.XMLParser.parse > > > > > > > (Unknown > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse > > > > > > > > > > > > > (Unknown Source) > > > > > > > > > > > > > at > > > > > > > > > javax.xml.parsers.SAXParser.parse(Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > javax.xml.parsers.SAXParser.parse(Unknown > > > > > > > > > > > > > Source) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > com.sun.facelets.compiler.TagLibraryConfig.create > > > > > > > > > > > (TagLibraryConfig.java > > > > > > > > > > > > > :393) > > > > > > > > > > > > > ... 53 more > > > > > > > > > > > > > Caused by: java.lang.Exception : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.myfaces.custom.updateactionlistener.UpdateActionListener > > > > > > > > > > > > > must be an instance of com.sun.facelets.tag.TagHandler > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.compiler.TagLibraryConfig$LibraryHandler.createClass > > > > > > > > > > > > > (TagLibraryConfig.java:280) > > > > > > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.sun.facelets.compiler.TagLibraryConfig$LibraryHandler.endElement > > > > > > > > > > > (TagLibraryConfig.java:205) > > > > > > > > > > > > > ... 68 more > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/22/07, Jeff Bischoff < [EMAIL PROTECTED]> > > wrote: > > > > > > > > > > > > > > I recommend t:updateActionListener. See [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://wiki.apache.org/myfaces/ExecutingMethodsFromLinkButtonParameters > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Jeff Bischoff > > > > > > > > > > > > > > Kenneth L Kurz & Associates, Inc. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Mick Knutson wrote: > > > > > > > > > > > > > > > I have the following: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <h:commandLink > > > > > > > > > > > action="userByUsername" > > > > > > > > > > > > > > > onclick="open_alert();"> > > > > > > > > > > > > > > > > > <h:outputText > > > > > > > > > > > > > value="#{ user.username}"/> > > > > > > > > > > > > > > > </h:commandLink> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But I need the command to be the action to be > > > > something like > > > > > > > > > > > > > > > userByUsername?username=#{ user.username} to fire > > an > > > > event > > > > > > > for my > > > > > > > > > > > > > navigation > > > > > > > > > > > > > > > rule "userByUsername" and sending a parameter of > > the > > > > > > > username > > > > > > > > > for > > > > > > > > > > > each > > > > > > > > > > > > > row > > > > > > > > > > > > > > > as #{ user.username} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > --- > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > Mick Knutson > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.baselogic.com > > > > > > > > > > > > > http://www.blincmagazine.com > > > > > > > > > > > > > http://www.djmick.com > > > > > > > > > > > > > http://www.myspace.com/djmick_dot_com > > > > > > > > > > > > > http://www.thumpradio.com > > > > > > > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > --- > > > > > > > > > > > Thanks, > > > > > > > > > > > Mick Knutson > > > > > > > > > > > > > > > > > > > > > > http://www.baselogic.com > > > > > > > > > > > http://www.blincmagazine.com > > > > > > > > > > > http://www.djmick.com > > > > > > > > > > > http://www.myspace.com/djmick_dot_com > > > > > > > > > > > http://www.thumpradio.com > > > > > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > --- > > > > > > > > > Thanks, > > > > > > > > > Mick Knutson > > > > > > > > > > > > > > > > > > http://www.baselogic.com > > > > > > > > > http://www.blincmagazine.com > > > > > > > > > http://www.djmick.com > > > > > > > > > http://www.myspace.com/djmick_dot_com > > > > > > > > > http://www.thumpradio.com > > > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > --- > > > > > > > Thanks, > > > > > > > Mick Knutson > > > > > > > > > > > > > > http://www.baselogic.com > > > > > > > http://www.blincmagazine.com > > > > > > > http://www.djmick.com > > > > > > > http://www.myspace.com/djmick_dot_com > > > > > > > http://www.thumpradio.com > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > --- > > > > > Thanks, > > > > > Mick Knutson > > > > > > > > > > http://www.baselogic.com > > > > > http://www.blincmagazine.com > > > > > http://www.djmick.com > > > > > http://www.myspace.com/djmick_dot_com > > > > > http://www.thumpradio.com > > > > > --- > > > > > > > > > > > > > > > > -- > > > > --- > > > > Thanks, > > > > Mick Knutson > > > > > > > > http://www.baselogic.com > > > > http://www.blincmagazine.com > > > > http://www.djmick.com > > > > http://www.myspace.com/djmick_dot_com > > > > http://www.thumpradio.com > > > > --- > > > > > > > > > > > -- > > > > --- > > Thanks, > > Mick Knutson > > > > http://www.baselogic.com > > http://www.blincmagazine.com > > http://www.djmick.com > > http://www.myspace.com/djmick_dot_com > > http://www.thumpradio.com > > --- > > > > -- --- Thanks, Mick Knutson http://www.baselogic.com http://www.blincmagazine.com http://www.djmick.com http://www.myspace.com/djmick_dot_com http://www.thumpradio.com ---