inputFileUpload save state problem
Hi, I have the following question about one of myFaces custom components. inputFileUpload I managed to do everything except one thing. I don't know how to save the state of the input field where the path to a specified file is entered. When I reload the page, I am developing, the state is lost. Do you know if such feature is supported or will it be implemented at some time?
Re: inputFileUpload save state problem
Hi, For security reason, in HTML (not related to JSF), it's impossible to set an initial value for an upload field. En l'instant précis du 05/06/07 10:55, ncheltsov s'exprimait en ces termes: Hi, I have the following question about one of myFaces custom components. inputFileUpload I managed to do everything except one thing. I don't know how to save the state of the input field where the path to a specified file is entered. When I reload the page, I am developing, the state is lost. Do you know if such feature is supported or will it be implemented at some time?
Re: inputFileUpload save state problem
So, it is intended to work like this and it is not an omission? You mean, that if I want something like this, I must implement it by my self and to take all the responsibility of a probable security holes? David Delbecq wrote: Hi, For security reason, in HTML (not related to JSF), it's impossible to set an initial value for an upload field. En l'instant précis du 05/06/07 10:55, ncheltsov s'exprimait en ces termes: Hi, I have the following question about one of myFaces custom components. inputFileUpload I managed to do everything except one thing. I don't know how to save the state of the input field where the path to a specified file is entered. When I reload the page, I am developing, the state is lost. Do you know if such feature is supported or will it be implemented at some time?
Re: inputFileUpload save state problem
Hi, yes, it is intended to work like this. And if you want to implement it yourself, you need to implement a custom browser. The existing browsers (IE, firefox, opera, ...) dit not allow this. In HTML it is not possible to set an initial value, (nor set the value by javascript later) to a 'input type=file ...' tag. Regards, Volker 2007/6/5, ncheltsov [EMAIL PROTECTED]: So, it is intended to work like this and it is not an omission? You mean, that if I want something like this, I must implement it by my self and to take all the responsibility of a probable security holes? David Delbecq wrote: Hi, For security reason, in HTML (not related to JSF), it's impossible to set an initial value for an upload field. En l'instant précis du 05/06/07 10:55, ncheltsov s'exprimait en ces termes: Hi, I have the following question about one of myFaces custom components. inputFileUpload I managed to do everything except one thing. I don't know how to save the state of the input field where the path to a specified file is entered. When I reload the page, I am developing, the state is lost. Do you know if such feature is supported or will it be implemented at some time?
Tobago - myfaces - tomcat java 1.4
Hello everybody, I'm trying to configure a sample application using Spring-Webflow, myfaces, tobago to run under tomcat and java 1.4 using the retro libraries. Everything works fine without tobago, b ut when I try to include tobago I get the following error: javax.servlet.ServletException javax.faces.webapp.FacesServlet.service(FacesServlet.java:158) org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130) root cause java.lang.NullPointerException org.apache.myfaces.tobago.context.ClientProperties.init(ClientProperties.java:92) org.apache.myfaces.tobago.context.ClientProperties.getInstance(ClientProperties.java:141) org.apache.myfaces.tobago.application.ViewHandlerImpl.ensureClientProperties(ViewHandlerImpl.java:81) org.apache.myfaces.tobago.application.ViewHandlerImpl.createView(ViewHandlerImpl.java:73) org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:83) org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130) for further explanations: web.xml: ?xml version=1.0 encoding=ISO-8859-1? web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd; version=2.4 context-param param-namecontextConfigLocation/param-name param-value classpath:com/gknplc/mdbClient/stub/services-config.xml /WEB-INF/mdbClient-servlet-config.xml /WEB-INF/mdbClient-webflow-config.xml /param-value /context-param filter filter-namemultipartFormdataFilter/filter-name filter-classorg.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter/filter-class /filter filter-mapping filter-namemultipartFormdataFilter/filter-name url-pattern*.faces/url-pattern /filter-mapping listener listener-classorg.springframework.web.context.ContextLoaderListener/listener-class /listener listener listener-classorg.apache.myfaces.webapp.StartupServletContextListener/listener-class /listener servlet servlet-nameFaces Servlet/servlet-name servlet-classjavax.faces.webapp.FacesServlet/servlet-class load-on-startup1/load-on-startup /servlet servlet servlet-nameResourceServlet/servlet-name servlet-classorg.apache.myfaces.tobago.servlet.ResourceServlet/servlet-class /servlet servlet-mapping servlet-nameFaces Servlet/servlet-name url-pattern*.faces/url-pattern /servlet-mapping servlet-mapping servlet-nameResourceServlet/servlet-name url-pattern/org/apache/myfaces/tobago/renderkit/*/url-pattern /servlet-mapping welcome-file-list welcome-fileindex.jsp/welcome-file /welcome-file-list /web-app The faces-config.xml ?xml version=1.0? !DOCTYPE faces-config PUBLIC -//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN http://java.sun.com/dtd/web-facesconfig_1_0.dtd; faces-config application navigation-handler org.springframework.webflow.executor.jsf.FlowNavigationHandler /navigation-handler variable-resolver org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver /variable-resolver /application lifecycle phase-listener org.springframework.webflow.executor.jsf.FlowPhaseListener /phase-listener /lifecycle /faces-config The tobago-config.xml ?xml version=1.0 encoding=UTF-8? !DOCTYPE tobago-config PUBLIC -//The Apache Software Foundation//DTD Tobago Config 1.0//EN tobago-config_1_0.dtd tobago-config theme-config default-themespeyside/default-theme /theme-config resource-dirtobago-resource/resource-dir resource-dirorg/apache/myfaces/tobago/renderkit/resource-dir /tobago-config Has anybody any suggestion? Thanks Leo -- -- Leonhard Holzer ABusCom GmbH Kapuzinerplatz 9 I 39031 Bruneck Tel.: +39 0474 538 000 Fax.: +39 0474 538 000 mobil: +39 335 83 28 041 web: www.abuscom.com --
[MyFaces] looking for el-api/el-ri sources
Hi, as a matter of debugging help I would need to find out sources of el-api.jar and el-ri.jar. Sometime ago I found out some sparse sources (from Glassfish svn ?), but there was some mismatch between debugger source lines and jar binaries as usually distributed along common JSF packages. Furthermore I don't know how to reconnect binaries and sources - there is no version number. Could anybody please suggest a link where to dowload up-to-date el jars and their sources from ? Thanks.
designing h:dataTable
Hi All, I want to design datatTable as, --- Edit | Personal Information| Account Information | // first row --- edit | first name | middle name |last name | bank name | a/c no | // second row --- I am able to get second row by follwoing code as. h:dataTable width=100% border=0 headerClass=firstRow rowClasses=row1,row2 value=SomeValue h:column f:facet name=header h:outputText id=editHeader value=edit / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=first name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=middle name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=last name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=bank name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=a/c no / /f:facet /h:column /h:dataTable But I am not able to set first row. i.e. I want Edit from first row will fit for edit for second row lly, Personal Information will fit for first name,middle name,last name and Account Information will fit for bank name a/c no Can anybody tell me how to do this ? Thanks Sandip -- View this message in context: http://www.nabble.com/designing-h%3AdataTable-tf3871240.html#a10967828 Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: designing h:dataTable
I am not sure, that I fully understand your question, but I think, that h:dataTable element is not intended for such use. You can display with it some tabular information, set header and footer and apply some visual cosmetic. That's all. Consider using other component. P.S. Of course I can be wrong. I will be glad someone to correct me :) sandipp wrote: Hi All, I want to design datatTable as, --- Edit | Personal Information| Account Information | --- edit | first name | middle name |last name | bank name | a/c no | --- I am able to get second row by follwoing code as. h:dataTable width=100% border=0 headerClass=firstRow rowClasses=row1,row2 value=SomeValue h:column f:facet name=header h:outputText id=editHeader value=edit / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=first name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=middle name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=last name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=bank name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=a/c no / /f:facet /h:column /h:dataTable But I am not able to set first row. i.e. I want Edit from first row will fit for edit for second row lly, Personal Information will fit for first name,middle name,last name and Account Information will fit for bank name a/c no Can anybody tell me how to do this ? Thanks Sandip
Re: [MyFaces] looking for el-api/el-ri sources
el-api.jar and el-ri.jar are available from the Apache Tomcat 6.x project. I don't know the details of how to fetch them. Asking on that mailing list is probably your best bet. Wendy posted this in the past for maven users: dependency groupIdorg.apache.tomcat/groupId artifactIdel-api/artifactId version6.0.0-SNAPSHOT/version /dependency dependency groupIdorg.apache.tomcat/groupId artifactIdjasper-el/artifactId version6.0.0-SNAPSHOT/version /dependency On 6/5/07, Renzo Tomaselli [EMAIL PROTECTED] wrote: Hi, as a matter of debugging help I would need to find out sources of el-api.jar and el-ri.jar. Sometime ago I found out some sparse sources (from Glassfish svn ?), but there was some mismatch between debugger source lines and jar binaries as usually distributed along common JSF packages. Furthermore I don't know how to reconnect binaries and sources - there is no version number. Could anybody please suggest a link where to dowload up-to-date el jars and their sources from ? Thanks.
Any one using Selenium to test JSCook Menus?
I am using Selenium to test the UI portion of my application. Currently I am having trouble testing the menus generated by the JSCookMenu. Specifically I do not know what to enter for Target when trying to click on the menu using the click command. Is any testing JSCookMenus with Selenium? What do you use for Target of the desired menu item for the click command? Paul Spencer
Re: Any one using Selenium to test JSCook Menus?
Hi, I use selenium to test t:tree2. My problem was how to locate the [+] or [-] icon in front of specific node. I ended up writing my own locator (in selenium terms) that traverses the DOM near the node's text and finds image tags with specific URL (plus.png/minus.png). Locating the image makes easy to call Click so the tree will expand. This way I can locate the [+] or [-] based on the text in the tree See [1] as example how to build locator Regards, Svi [1] http://svn.openqa.org/svn/selenium-core/trunk/src/main/resources/core/scripts/user-extensions.js.sample (locateElementBy*) 2007/6/5, Paul Spencer [EMAIL PROTECTED]: I am using Selenium to test the UI portion of my application. Currently I am having trouble testing the menus generated by the JSCookMenu. Specifically I do not know what to enter for Target when trying to click on the menu using the click command. Is any testing JSCookMenus with Selenium? What do you use for Target of the desired menu item for the click command? Paul Spencer
Re: Any one using Selenium to test JSCook Menus?
Svi, Thank you point me to user-extensions. I was hoping for a simpler solution :) Paul Spencer Svilen Ivanov wrote: Hi, I use selenium to test t:tree2. My problem was how to locate the [+] or [-] icon in front of specific node. I ended up writing my own locator (in selenium terms) that traverses the DOM near the node's text and finds image tags with specific URL (plus.png/minus.png). Locating the image makes easy to call Click so the tree will expand. This way I can locate the [+] or [-] based on the text in the tree See [1] as example how to build locator Regards, Svi [1] http://svn.openqa.org/svn/selenium-core/trunk/src/main/resources/core/scripts/user-extensions.js.sample (locateElementBy*) 2007/6/5, Paul Spencer [EMAIL PROTECTED]: I am using Selenium to test the UI portion of my application. Currently I am having trouble testing the menus generated by the JSCookMenu. Specifically I do not know what to enter for Target when trying to click on the menu using the click command. Is any testing JSCookMenus with Selenium? What do you use for Target of the desired menu item for the click command? Paul Spencer
Re: designing h:dataTable
t:dataList allows you more fine grained control over the display. On 6/5/07, ncheltsov [EMAIL PROTECTED] wrote: I am not sure, that I fully understand your question, but I think, that h:dataTable element is not intended for such use. You can display with it some tabular information, set header and footer and apply some visual cosmetic. That's all. Consider using other component. P.S. Of course I can be wrong. I will be glad someone to correct me :) sandipp wrote: Hi All, I want to design datatTable as, --- Edit | Personal Information| Account Information | --- edit | first name | middle name |last name | bank name | a/c no | --- I am able to get second row by follwoing code as. h:dataTable width=100% border=0 headerClass=firstRow rowClasses=row1,row2 value=SomeValue h:column f:facet name=header h:outputText id=editHeader value=edit / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=first name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=middle name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=last name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=bank name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=a/c no / /f:facet /h:column /h:dataTable But I am not able to set first row. i.e. I want Edit from first row will fit for edit for second row lly, Personal Information will fit for first name,middle name,last name and Account Information will fit for bank name a/c no Can anybody tell me how to do this ? Thanks Sandip
Re: JSF and AJAX without custom components?
Thanks for your response Ernst! Yeah, I have looked around at pretty much every JSF AJAX framework out there and it isn't that I'm not impressed. There are definitely some smart people working to create generic components to be consumed by the masses. In our current position though I don't think these frameworks make a lot of sense for us to use. We have an extremely strong UI developer and we just want to be able to expose his talents, and in our current circumstance having to use pre-built AJAX components or having to create our own would severely hamper his abilities. So anyway I have solved my problem via the following process. It allows us to interact with JSF, i.e. forms, via AJAX without having to write components. It has some significant short comings if it was going to be used for general consumption by the JSF community (i.e. lacking configuration, you can shoot your foot off easily, etc...) but works for us. So keeping with good list etiquette I'm posting my solution below for those, if any, that get a hit on my initial question. I have created a PhaseListener that runs after the RESTORE_VIEW phase and checks for the presence of a known parameter. Every parameter on every request is checked which I'm not a fan of but from what I have seen most other JSF/AJAX solutions do the same and it appears to run super fast. If a 'known' parameter exists the PhaseListener instantiates the class associated with the parameter for processing. In my case all of these 'processor' classes implement a simple interface with one method, process(), that takes a CaseInsensitiveMap as an argument. This map contains the map returned value from the getParameterMap() method on HttpServletRequest: HttpServletRequest req = (HttpServletRequest) event.getFacesContext().getExternalContext().getRequest(); CaseInsensitiveMap map = new CaseInsensitiveMap(); map.putAll(req.getParameterMap()); The process() method then does what it needs to do. Typically finding components by their ids in the restored view, that are either known by the class or sent as parameters, and updating their values accordingly. Then the class composes an XML document that our client side JavaScript (taconite and/or JQuery) understands and returns this XML string. The PhaseListener then determines if the returned string contains a javax.faces.ViewState placeholder we came up with and substitutes the placeholder with the new ViewState value generated below. If there is no placeholder, i.e. not interacting with a JSF form, we can omit the updating of the ViewState value. In that case though we typically do straight HTTP and bypass JSF completely. try { UIViewRoot viewRoot = context.getViewRoot(); StateManager stateMgr = context.getApplication().getStateManager(); ComponentSupport.removeTransient(viewRoot); SerializedView serializedView = stateMgr.saveSerializedView(context); Object[] savedState = new Object[3]; Object treeStruct = serializedView.getStructure(); if (treeStruct != null) { if (treeStruct instanceof String) { savedState[0] = treeStruct; } } savedState[2] = viewRoot.getViewId(); String viewState = StateUtils.construct(savedState, context.getExternalContext()); return viewState; } catch (Exception e) { throw new RuntimeException(e); } The PhaseListener writes out the string to the response stream and marks the response as complete. The client JavaScript interprets the XML and updates the DOM. The DOM should now match the DOM stored on the server. It works well for us and results in the creation of only one class, after the initial PhaseListener creation, per Ajaxable event. The above code does tinker with the internal workings of MyFaces which may/will cause us issues on an upgrade. I haven't tested it for thread-safety yet but everything I have seen with other frameworks leads me to believe all is well. Thanks, Stan Ernst Fastl wrote: Hi, I can understand you don't like to write your own component for soving this problem (although seeing the stuff you posted I guess you are skilled enough for that). Anyway, have you tried the existing solutions like PPRPanelGroup from the tomahawk sandbox or Ajax4JSF? regards Ernst
Re: Force model update during immediate action event
You've already summarized the general answer to your question: use component bindings and manually validate and update the values. There may be other options (sandbox:subForm, perhaps), but it will require that you post specifically what you're trying to do. On 6/4/07, Sertic Mirko, Bedag [EMAIL PROTECTED] wrote: Hi there! I need a solution for the following problem: I do have a complex JSF - Form with some input components. Some of them have validators, and some not. There is a UICommand component with immediate = true, which forces recomputation of some input components. The question is now : can i force a model update for those componets that were validated correctly? I need the values of those components, and i dont want to use component bindings to access the current component values directly. Is there way to do so ? Thanks a lot Mirko
Re: Using Label value in custom validator
Labels are a component like anything else. However, I suspect you'd need to iterate through the entire component tree, looking for any h:label component that contains a reference to the current component. Another way to go is to use the t:message/messages component with replaceIdWithLabel=true to perform the replacement at that time. Actually, you could probably look at the source code for this component to figure out how it's done as well. On 6/4/07, Stefano Panero [EMAIL PROTECTED] wrote: Hi everybody, I've implemented a simple custum validator public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { List errors = validate(value); // do some validation logic if (!errors.isEmpty()) { FacesMessage message = new FacesMessage(); message.setDetail(LABEL_NEEDED...); message.setSummary(Some summary text)); message.setSeverity(FacesMessage.SEVERITY_ERROR); throw new ValidatorException(message); } } } How can I create the FacesMessage using the t:outputLabel value instead of the ID in the detail part? In other words: how can I get label from input component?
RE: How to have the label of SelectOneRadio as a commandLink
Hello Mike, Thanks for you suggestion. Using a fully-qualified client-id does work indeed. It took some trail-and-error to determine the proper path from the NamingContainer, but I got a proper reference to the t:selectOneRadio for the t:radio-tag. So I started to use the following code: t:selectOneRadio id=seekerSelection layout=spread value=#{createRequestBean.selectedSeeker} t:selectItems value=#{seekerSearchBean.seekers} var=seeker itemLabel= itemValue=#{seeker} / /t:selectOneRadio table t:dataList value=#{seekerSearchBean.seekers} var=seeker layout=simple rowIndexVar=rowIndex tr td t:radio for=:seekerSelectListSubview:selectSeekerForm:seekerSelection index=#{rowIndex} / /td td h:outputText value=#{seeker.displayName} / /td /tr /t:dataList /table But then some other thing strange behaviour started to occur: The value of the h:outputText becomes null if it is placed behind the t:radio tag. This causes that the displayName the seeker doesn't get rendered, because the method getDisplayName() of my Seeker-object doesn't get called. If I change the order of the h:outputText and t:radio then the displayName of the Seeker does get rendered in the first column and the radio-button in the second, but that's not what I want in my user-interface. I started to compare the rendering of the page with and without the t:radio-tag. In my debugger I started to follow what happens during the encodeChilderen() of the HtmlListRenderer and I discover that the _requestMap of the _externalContext of the ServletExternalContextImpl does NOT contain an entry with the key seeker if the t:radio is on the page. If I remove the t:radio and render the page again, then the entry for the seeker IS present in the _requestMap. I haven't been able to determine why the HtmlSelectOneRadio cause the RequestAttribute to be remove / prevents it from being set. Does anybody have any clue about how to get the working properly? Any suggestions are greatly appreciated. With kind regards, Marco Beelen -Original Message- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ] Sent: vrijdag 1 juni 2007 16:30 To: MyFaces Discussion Subject: Re: How to have the label of SelectOneRadio as a commandLink Your idea of using t:radio was the first thought I had as well. Maybe if you specify the for as a fully-qualified client-id it will work. If you don't want to hardcode this, one possibility is to bind the selectOneRadio to a backing bean and fetch the clientid for that component as the value binding of the t:radio for attribute. On 6/1/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello all, I'm building an application and I don't know how to solve a certain GUI problem. Use case: The employee enters an request for a certain seeker ( = a Customer ) 1) The employee searches for the seeker based upon it's name. 2) The employee select the appropreate seeker from the resultset using a radio-button ( SelectOneRadio ) 3) The employee starts to enter request information and continues.. This all goes well. Snippet from the page used in step 2: h:selectOneRadio layout=pageDirection value=#{createRequestBean.selectedSeeker} t:selectItems value=#{seekerSearchBean.seekers} var=seeker itemLabel=#{seeker.displayName} / #{seeker.city} itemValue=#{seeker} / /h:selectOneRadio Now what I want to add is the possibilty to start editing the seeker-information for step to by allowing the employee to click on the label of the SelectItem, which navigation to an EditSeeker-page on which the selected seeker will displayed. But I can't create a CommandLink or OutputLink as a part of the itemLabel of the selectItems. Does any body have any suggestions for this? I was thinking about using the a combination of t:selectOneRadio with layout=spread, a t:dataList and t:updateActionListener like this: t:selectOneRadio id=seekerSelection layout=spread value=#{createRequestBean.selectedSeeker} t:selectItems value=#{seekerSearchBean.seekers} var=seeker itemLabel= itemValue=#{seeker} / /t:selectOneRadio table t:dataList var=seeker value=#{seekerSearchBean.seekers} layout=simple rowIndexVar=rowIndex tr td t:radio for=seekerSelection index=#{rowIndex} / h:commandLink value=#seekerEditBean.startEditProcess h:outputText value=#{seeker.displayName} / #{seeker.city}} / t:updateActionListener property=#{seekerEditBean.seeker}
[Trinidad] e.getFacesMessage is no Function
Hi, I'm using the trinidad SVN source. When i want to save a simple form, i get the JS error e.getFacesMessage is no Function. There seems to be a problem initialising the TrConverterException in Locale.js cause the LocaleElements array is empty. Someone familiar with Locale.js could help me understanding that file ;-) ... and tell me how the LocaleElements gets filled? Thanks David
Re: [Trinidad] e.getFacesMessage is no Function
what values are you binding to your input controls ? looks like a JS issue, when trying to throw JS TrConverterException -M On 6/5/07, David Uebelacker [EMAIL PROTECTED] wrote: Hi, I'm using the trinidad SVN source. When i want to save a simple form, i get the JS error e.getFacesMessage is no Function. There seems to be a problem initialising the TrConverterException in Locale.js cause the LocaleElements array is empty. Someone familiar with Locale.js could help me understanding that file ;-) ... and tell me how the LocaleElements gets filled? Thanks David -- Matthias Wessendorf further stuff: blog: http://matthiaswessendorf.wordpress.com/ mail: matzew-at-apache-dot-org
Re: How to have the label of SelectOneRadio as a commandLink
You're using the same variable name for two different things: t:selectItems var=seeker t:dataList var=seeker I wouldn't recommend doing this as it's only going to cause confusion (even though they are both in different scopes). I'm guessing the ordering problem is caused by how JSF 1.1 builds/renders a page. The component does not exist until it's first rendered. Ie, build t:selectOneRadio. render t:selectOneRadio. build t:dataList render t:dataList build t:radio render t:radio build h:outputText render h:outputText JSF 1.1 with Facelets and JSF 1.2 solve this problem by always building the full component tree, then rendering it. The workaround in JSF 1.1 without facelets is to put the items you need in an h:panelGroup which will force the children both to be built before rendered (I think). I know a similar trick is required to have an h:outputLabel before the h:outputText. So try this: h:panelGroup td t:radio for=:seekerSelectListSubview:selectSeekerForm:seekerSelection index=#{rowIndex} / /td td h:outputText value=#{seeker.displayName} / /td /h:panelGroup Actually, you might have to put the panelGroup around the t:selectOneRadio and and t:dataList. On 6/5/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello Mike, Thanks for you suggestion. Using a fully-qualified client-id does work indeed. It took some trail-and-error to determine the proper path from the NamingContainer, but I got a proper reference to the t:selectOneRadio for the t:radio-tag. So I started to use the following code: t:selectOneRadio id=seekerSelection layout=spread value=#{createRequestBean.selectedSeeker} t:selectItems value=#{seekerSearchBean.seekers} var=seeker itemLabel= itemValue=#{seeker} / /t:selectOneRadio table t:dataList value=#{seekerSearchBean.seekers} var=seeker layout=simple rowIndexVar=rowIndex tr td t:radio for=:seekerSelectListSubview:selectSeekerForm:seekerSelection index=#{rowIndex} / /td td h:outputText value=#{seeker.displayName} / /td /tr /t:dataList /table But then some other thing strange behaviour started to occur: The value of the h:outputText becomes null if it is placed behind the t:radio tag. This causes that the displayName the seeker doesn't get rendered, because the method getDisplayName() of my Seeker-object doesn't get called. If I change the order of the h:outputText and t:radio then the displayName of the Seeker does get rendered in the first column and the radio-button in the second, but that's not what I want in my user-interface. I started to compare the rendering of the page with and without the t:radio-tag. In my debugger I started to follow what happens during the encodeChilderen() of the HtmlListRenderer and I discover that the _requestMap of the _externalContext of the ServletExternalContextImpl does NOT contain an entry with the key seeker if the t:radio is on the page. If I remove the t:radio and render the page again, then the entry for the seeker IS present in the _requestMap. I haven't been able to determine why the HtmlSelectOneRadio cause the RequestAttribute to be remove / prevents it from being set. Does anybody have any clue about how to get the working properly? Any suggestions are greatly appreciated. With kind regards, Marco Beelen -Original Message- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] Sent: vrijdag 1 juni 2007 16:30 To: MyFaces Discussion Subject: Re: How to have the label of SelectOneRadio as a commandLink Your idea of using t:radio was the first thought I had as well. Maybe if you specify the for as a fully-qualified client-id it will work. If you don't want to hardcode this, one possibility is to bind the selectOneRadio to a backing bean and fetch the clientid for that component as the value binding of the t:radio for attribute. On 6/1/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello all, I'm building an application and I don't know how to solve a certain GUI problem. Use case: The employee enters an request for a certain seeker ( = a Customer ) 1) The employee searches for the seeker based upon it's name. 2) The employee select the appropreate seeker from the resultset using a radio-button ( SelectOneRadio ) 3) The employee starts to enter request information and continues…... This all goes well. Snippet from the page used in step 2: h:selectOneRadio layout=pageDirection value=#{createRequestBean.selectedSeeker} t:selectItems value=#{seekerSearchBean.seekers} var=seeker itemLabel=#{seeker.displayName} / #{seeker.city} itemValue=#{seeker} / /h:selectOneRadio Now what I want to add is the
Re: [Trinidad] Changes to isPostback?
I'd suggest seeing a stacktrace to find out what phase this is being invoked in. RequestContext.isPostback() doesn't work until the end of Restore View phase, and I suspect your code is being called during Restore View. -- Adam On 6/4/07, Francisco Passos [EMAIL PROTECTED] wrote: Actually yes, I was using JSF 1.2 but since my application server (Weblogic 9.2) doesn't support J2EE 5, I decided to switch to 1.1 for full compatibility. The full scenario is this: I have request-scoped beans that need to be initialized (load properties from database). I'm using t:saveState to keep the values between subsequent requests. In order for my init method to be called for these beans, I created an abstract bean (which my concrete beans extend) with the following: protected boolean initialized = false; public abstract void init() throws Exception; public final void setInitialization(String value) { if (!isPostback()) { initialize(); } } public final void initialize() { if (!initialized) { try { init(); initialized = true; } catch (Exception e) { ... } } } protected final boolean isPostback() { RequestContext context = RequestContext.getCurrentInstance(); if (context == null) { return false; } return context.isPostback(); } The entry point is the setInitialization method. To ensure it gets called, I created a managed-property in each of my beans (in faces-config.xml). I don't know which phase it gets called in, but a while ago it worked extremely well and in conjunction with Tomahawk's saveState, for subsequent requests only the first would be initialized, whereas now, all of them are :( Should I switch back to 1.2? Is there anything I can do to use 1.2 in a non-J2EE compliant app-server with any degree of confidence? Thank you, Francisco On 6/1/07, Adam Winer [EMAIL PROTECTED] wrote: I don't think there've been any changes in Trinidad. Have you changed the version of JSF you're using? At what point in the JSF lifecycle are you calling isPostback()? -- Adam On 6/1/07, Francisco Passos [EMAIL PROTECTED] wrote: Good afternoon. Have there been any changes to the underlying mechanism of RequestContext.isPostback since version 1.0.0-incubating? I've noticed that returning null after executing an action triggered by a button, for instance, is no longer considered a postback. Is this true and if true, is it intended? By the way, having a tr:commandButton text=simulate postback / is no longer detected as one :S and it doesn't even define the action... Thank you, Francisco
[Tobago] Problem with tc:tree
Hi, I want to have a tree with it's nodes selectable AND an associated treeNodeCommand. But it's impossible to have both together. When the nodes are selectable the treeNodeCommand is not executed. You can see this in the demo. Regards Helmut
RE: How to have the label of SelectOneRadio as a commandLink
Hello Mike, I'm already using facelets with MyFaces for my application ( who isn't these days? ), so the suggestion to use a panelGroup isn't necessary. I followed your advice and changed one of the values of the var-attribute and that solved the problem. Now I can place the t:radio-tag before the h:outputText-tag. Thank you for your assistence! With kind regards, Marco -Original Message- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] Sent: dinsdag 5 juni 2007 18:55 To: MyFaces Discussion Subject: Re: How to have the label of SelectOneRadio as a commandLink You're using the same variable name for two different things: t:selectItems var=seeker t:dataList var=seeker I wouldn't recommend doing this as it's only going to cause confusion (even though they are both in different scopes). I'm guessing the ordering problem is caused by how JSF 1.1 builds/renders a page. The component does not exist until it's first rendered. Ie, build t:selectOneRadio. render t:selectOneRadio. build t:dataList render t:dataList build t:radio render t:radio build h:outputText render h:outputText JSF 1.1 with Facelets and JSF 1.2 solve this problem by always building the full component tree, then rendering it. The workaround in JSF 1.1 without facelets is to put the items you need in an h:panelGroup which will force the children both to be built before rendered (I think). I know a similar trick is required to have an h:outputLabel before the h:outputText. So try this: h:panelGroup td t:radio for=:seekerSelectListSubview:selectSeekerForm:seekerSelection index=#{rowIndex} / /td td h:outputText value=#{seeker.displayName} / /td /h:panelGroup Actually, you might have to put the panelGroup around the t:selectOneRadio and and t:dataList. On 6/5/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello Mike, Thanks for you suggestion. Using a fully-qualified client-id does work indeed. It took some trail-and-error to determine the proper path from the NamingContainer, but I got a proper reference to the t:selectOneRadio for the t:radio-tag. So I started to use the following code: t:selectOneRadio id=seekerSelection layout=spread value=#{createRequestBean.selectedSeeker} t:selectItems value=#{seekerSearchBean.seekers} var=seeker itemLabel= itemValue=#{seeker} / /t:selectOneRadio table t:dataList value=#{seekerSearchBean.seekers} var=seeker layout=simple rowIndexVar=rowIndex tr td t:radio for=:seekerSelectListSubview:selectSeekerForm:seekerSelection index=#{rowIndex} / /td td h:outputText value=#{seeker.displayName} / /td /tr /t:dataList /table But then some other thing strange behaviour started to occur: The value of the h:outputText becomes null if it is placed behind the t:radio tag. This causes that the displayName the seeker doesn't get rendered, because the method getDisplayName() of my Seeker-object doesn't get called. If I change the order of the h:outputText and t:radio then the displayName of the Seeker does get rendered in the first column and the radio-button in the second, but that's not what I want in my user-interface. I started to compare the rendering of the page with and without the t:radio-tag. In my debugger I started to follow what happens during the encodeChilderen() of the HtmlListRenderer and I discover that the _requestMap of the _externalContext of the ServletExternalContextImpl does NOT contain an entry with the key seeker if the t:radio is on the page. If I remove the t:radio and render the page again, then the entry for the seeker IS present in the _requestMap. I haven't been able to determine why the HtmlSelectOneRadio cause the RequestAttribute to be remove / prevents it from being set. Does anybody have any clue about how to get the working properly? Any suggestions are greatly appreciated. With kind regards, Marco Beelen -Original Message- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] Sent: vrijdag 1 juni 2007 16:30 To: MyFaces Discussion Subject: Re: How to have the label of SelectOneRadio as a commandLink Your idea of using t:radio was the first thought I had as well. Maybe if you specify the for as a fully-qualified client-id it will work. If you don't want to hardcode this, one possibility is to bind the selectOneRadio to a backing bean and fetch the clientid for that component as the value binding of the t:radio for attribute. On 6/1/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello all, I'm building an application and I don't know how to solve a certain GUI problem. Use case: The employee enters an request for a certain seeker ( = a Customer ) 1) The
Re: How to have the label of SelectOneRadio as a commandLink
Wow. I'm surprised that the var value was the cause of the problem. I don't really know why that would be. Glad it worked out, though. On 6/5/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello Mike, I'm already using facelets with MyFaces for my application ( who isn't these days? ), so the suggestion to use a panelGroup isn't necessary. I followed your advice and changed one of the values of the var-attribute and that solved the problem. Now I can place the t:radio-tag before the h:outputText-tag. Thank you for your assistence! With kind regards, Marco -Original Message- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] Sent: dinsdag 5 juni 2007 18:55 To: MyFaces Discussion Subject: Re: How to have the label of SelectOneRadio as a commandLink You're using the same variable name for two different things: t:selectItems var=seeker t:dataList var=seeker I wouldn't recommend doing this as it's only going to cause confusion (even though they are both in different scopes). I'm guessing the ordering problem is caused by how JSF 1.1 builds/renders a page. The component does not exist until it's first rendered. Ie, build t:selectOneRadio. render t:selectOneRadio. build t:dataList render t:dataList build t:radio render t:radio build h:outputText render h:outputText JSF 1.1 with Facelets and JSF 1.2 solve this problem by always building the full component tree, then rendering it. The workaround in JSF 1.1 without facelets is to put the items you need in an h:panelGroup which will force the children both to be built before rendered (I think). I know a similar trick is required to have an h:outputLabel before the h:outputText. So try this: h:panelGroup td t:radio for=:seekerSelectListSubview:selectSeekerForm:seekerSelection index=#{rowIndex} / /td td h:outputText value=#{seeker.displayName} / /td /h:panelGroup Actually, you might have to put the panelGroup around the t:selectOneRadio and and t:dataList. On 6/5/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello Mike, Thanks for you suggestion. Using a fully-qualified client-id does work indeed. It took some trail-and-error to determine the proper path from the NamingContainer, but I got a proper reference to the t:selectOneRadio for the t:radio-tag. So I started to use the following code: t:selectOneRadio id=seekerSelection layout=spread value=#{createRequestBean.selectedSeeker} t:selectItems value=#{seekerSearchBean.seekers} var=seeker itemLabel= itemValue=#{seeker} / /t:selectOneRadio table t:dataList value=#{seekerSearchBean.seekers} var=seeker layout=simple rowIndexVar=rowIndex tr td t:radio for=:seekerSelectListSubview:selectSeekerForm:seekerSelection index=#{rowIndex} / /td td h:outputText value=#{seeker.displayName} / /td /tr /t:dataList /table But then some other thing strange behaviour started to occur: The value of the h:outputText becomes null if it is placed behind the t:radio tag. This causes that the displayName the seeker doesn't get rendered, because the method getDisplayName() of my Seeker-object doesn't get called. If I change the order of the h:outputText and t:radio then the displayName of the Seeker does get rendered in the first column and the radio-button in the second, but that's not what I want in my user-interface. I started to compare the rendering of the page with and without the t:radio-tag. In my debugger I started to follow what happens during the encodeChilderen() of the HtmlListRenderer and I discover that the _requestMap of the _externalContext of the ServletExternalContextImpl does NOT contain an entry with the key seeker if the t:radio is on the page. If I remove the t:radio and render the page again, then the entry for the seeker IS present in the _requestMap. I haven't been able to determine why the HtmlSelectOneRadio cause the RequestAttribute to be remove / prevents it from being set. Does anybody have any clue about how to get the working properly? Any suggestions are greatly appreciated. With kind regards, Marco Beelen -Original Message- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] Sent: vrijdag 1 juni 2007 16:30 To: MyFaces Discussion Subject: Re: How to have the label of SelectOneRadio as a commandLink Your idea of using t:radio was the first thought I had as well. Maybe if you specify the for as a fully-qualified client-id it will work. If you don't want to hardcode this, one possibility is to bind the selectOneRadio to a backing bean and fetch the clientid for that component as the value binding of the t:radio for attribute. On 6/1/07, Beelen, Marco [EMAIL PROTECTED] wrote: Hello all,
why tab pane submits/validates all tabs
I have a MyFaces portlet with 5 or so tabs, each with its own set of independent (i would hope) fields and submit buttons... However, all elements in all tabs are submitted and validated when either of tabs has a submit button clicked... Is this really how it is supposed to be? I'm using MyFaces 114 Thanks!
MyFaces 1.2??
Hello, When can we expect a 1.2 version of MyFaces?? Thanks in advance, Julien.
Re: [Trinidad] e.getFacesMessage is no Function
hi, im using the tr:inputText with Double values ... but i will strip it down to a small example tomorrow David Matthias Wessendorf schrieb: what values are you binding to your input controls ? looks like a JS issue, when trying to throw JS TrConverterException -M On 6/5/07, David Uebelacker [EMAIL PROTECTED] wrote: Hi, I'm using the trinidad SVN source. When i want to save a simple form, i get the JS error e.getFacesMessage is no Function. There seems to be a problem initialising the TrConverterException in Locale.js cause the LocaleElements array is empty. Someone familiar with Locale.js could help me understanding that file ;-) ... and tell me how the LocaleElements gets filled? Thanks David
Re: MyFaces 1.2??
a release will be out soon. the nightly builds are available and the TCK has been passed. -Matthias On 6/5/07, Julien Martin [EMAIL PROTECTED] wrote: Hello, When can we expect a 1.2 version of MyFaces?? Thanks in advance, Julien. -- Matthias Wessendorf further stuff: blog: http://matthiaswessendorf.wordpress.com/ mail: matzew-at-apache-dot-org
Re: problem with s:timedNotifier
I don't think you can safely mix different Tomahawk and Tomahawk Sandbox versions. These two jar files are tightly-coupled. Be sure you are using jars built from the same source. This is probably also the reason for the other problems you posted. On 6/4/07, is_maximum [EMAIL PROTECTED] wrote: Hi I put a s:timedNotifier in my form as following code s:timedNotifier showDelay=3000 hideDelay=3000 f:facet name=content h:panelGroup h:messages id=allMsg layout=table style=textError globalOnly=true showDetail=false errorClass=textError infoClass=textInfo / /h:panelGroup /f:facet f:facet name=confirm h:panelGrid style=text-aligm:center columns=1 h:commandButton id=myConfirm value=OK / /h:panelGrid /f:facet /s:timedNotifier for first when the form loads it works fine but I have a submit button on this form and when I press that button an exception will be shown: exception javax.servlet.ServletException: Unsupported component class org.apache.myfaces.custom.timednotifier.TimedNotifier javax.faces.webapp.FacesServlet.service(FacesServlet.java:154) org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100) org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:29) org.jboss.seam.servlet.SeamCharacterEncodingFilter.doFilter(SeamCharacterEncodingFilter.java:41) root cause java.lang.IllegalArgumentException: Unsupported component class org.apache.myfaces.custom.timednotifier.TimedNotifier org.apache.myfaces.custom.timednotifier.TimedNotifierRenderer.decode(TimedNotifierRenderer.java:55) javax.faces.component.UIComponentBase.decode(UIComponentBase.java:652) javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:758) javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:754) javax.faces.component.UIForm.processDecodes(UIForm.java:56) javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:754) javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:138) org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32) org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100) org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:29) org.jboss.seam.servlet.SeamCharacterEncodingFilter.doFilter(SeamCharacterEncodingFilter.java:41) what is the problem??? I am using myfaces 1.1.6 and nightly build of sandbox (tomahawk-sandbox-1.1.5-SNAPSHOT) and facelets thank you very much -- View this message in context: http://www.nabble.com/problem-with-s%3AtimedNotifier-tf3864962.html#a10949048 Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: why tab pane submits/validates all tabs
I'm using server side... But still get the undesired result... Any clues? On Jun 5, 2007, at 12:35 PM, Mike Kienenberger wrote: It's been awhile since I used tabs, but I think if you use server-side tab switching, only the current tab will be rendered (and submitted and validated). If you use client-side tab switching, all tabs are rendered (but hidden with javascript) and all tabs are submitted. On 6/5/07, Alexander Wallace [EMAIL PROTECTED] wrote: I have a MyFaces portlet with 5 or so tabs, each with its own set of independent (i would hope) fields and submit buttons... However, all elements in all tabs are submitted and validated when either of tabs has a submit button clicked... Is this really how it is supposed to be? I'm using MyFaces 114 Thanks!
Re: MyFaces 1.2??
There are one or two bugs and I am adding most of the stuff added to 1.1 since we created the branch for 1.2 whenever is compatible. So, yes, the release is going to be done pretty soon, Cheers, Bruno On 05/06/07, Matthias Wessendorf [EMAIL PROTECTED] wrote: a release will be out soon. the nightly builds are available and the TCK has been passed. -Matthias On 6/5/07, Julien Martin [EMAIL PROTECTED] wrote: Hello, When can we expect a 1.2 version of MyFaces?? Thanks in advance, Julien. -- Matthias Wessendorf further stuff: blog: http://matthiaswessendorf.wordpress.com/ mail: matzew-at-apache-dot-org
Re: JSF and AJAX without custom components?
Hi Stan, Thank you for the insights to your solution. It sounds very interesting indeed. Hope we'll hear again from you on the list. kind regards Ernst On 6/5/07, Stan Carney [EMAIL PROTECTED] wrote: Thanks for your response Ernst! Yeah, I have looked around at pretty much every JSF AJAX framework out there and it isn't that I'm not impressed. There are definitely some smart people working to create generic components to be consumed by the masses. In our current position though I don't think these frameworks make a lot of sense for us to use. We have an extremely strong UI developer and we just want to be able to expose his talents, and in our current circumstance having to use pre-built AJAX components or having to create our own would severely hamper his abilities. So anyway I have solved my problem via the following process. It allows us to interact with JSF, i.e. forms, via AJAX without having to write components. It has some significant short comings if it was going to be used for general consumption by the JSF community (i.e. lacking configuration, you can shoot your foot off easily, etc...) but works for us. So keeping with good list etiquette I'm posting my solution below for those, if any, that get a hit on my initial question. I have created a PhaseListener that runs after the RESTORE_VIEW phase and checks for the presence of a known parameter. Every parameter on every request is checked which I'm not a fan of but from what I have seen most other JSF/AJAX solutions do the same and it appears to run super fast. If a 'known' parameter exists the PhaseListener instantiates the class associated with the parameter for processing. In my case all of these 'processor' classes implement a simple interface with one method, process(), that takes a CaseInsensitiveMap as an argument. This map contains the map returned value from the getParameterMap() method on HttpServletRequest: HttpServletRequest req = (HttpServletRequest) event.getFacesContext().getExternalContext().getRequest(); CaseInsensitiveMap map = new CaseInsensitiveMap(); map.putAll(req.getParameterMap()); The process() method then does what it needs to do. Typically finding components by their ids in the restored view, that are either known by the class or sent as parameters, and updating their values accordingly. Then the class composes an XML document that our client side JavaScript (taconite and/or JQuery) understands and returns this XML string. The PhaseListener then determines if the returned string contains a javax.faces.ViewState placeholder we came up with and substitutes the placeholder with the new ViewState value generated below. If there is no placeholder, i.e. not interacting with a JSF form, we can omit the updating of the ViewState value. In that case though we typically do straight HTTP and bypass JSF completely. try { UIViewRoot viewRoot = context.getViewRoot(); StateManager stateMgr = context.getApplication().getStateManager(); ComponentSupport.removeTransient(viewRoot); SerializedView serializedView = stateMgr.saveSerializedView(context); Object[] savedState = new Object[3]; Object treeStruct = serializedView.getStructure(); if (treeStruct != null) { if (treeStruct instanceof String) { savedState[0] = treeStruct; } } savedState[2] = viewRoot.getViewId(); String viewState = StateUtils.construct(savedState, context.getExternalContext()); return viewState; } catch (Exception e) { throw new RuntimeException(e); } The PhaseListener writes out the string to the response stream and marks the response as complete. The client JavaScript interprets the XML and updates the DOM. The DOM should now match the DOM stored on the server. It works well for us and results in the creation of only one class, after the initial PhaseListener creation, per Ajaxable event. The above code does tinker with the internal workings of MyFaces which may/will cause us issues on an upgrade. I haven't tested it for thread-safety yet but everything I have seen with other frameworks leads me to believe all is well. Thanks, Stan Ernst Fastl wrote: Hi, I can understand you don't like to write your own component for soving this problem (although seeing the stuff you posted I guess you are skilled enough for that). Anyway, have you tried the existing solutions like PPRPanelGroup from the tomahawk sandbox or Ajax4JSF? regards Ernst
Re: problem with s:timedNotifier
Hi Mike but all of them are latest version. both sandbox and tomahawk are 1.1.5 the only myfaces core api is 1.1.6 Mike Kienenberger wrote: I don't think you can safely mix different Tomahawk and Tomahawk Sandbox versions. These two jar files are tightly-coupled. Be sure you are using jars built from the same source. This is probably also the reason for the other problems you posted. -- View this message in context: http://www.nabble.com/problem-with-s%3AtimedNotifier-tf3864962.html#a10976101 Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: PDF component - rendering for download
Here's the wiki page showing how to create a PDF download action. http://wiki.apache.org/myfaces/Sending_Files On 6/2/07, Erlend Hamnaberg [EMAIL PROTECTED] wrote: Hello. I need to create a component that can render a PDF file from a given model object. The pdf needs to be written to the response, to be ready to be downloaded. I might for instance use iText for this. How can i do this? Can someone put me in the right direction? Greetings Erlend
[Trinidad] Input Text Format That Uses A Mask
Hello all, I have created a Trinidad component that allows input text boxes to have a user defined mask for entries on the client (similar to Atlas MaskEdit http://www.fci.com.br/maskedit/MaskEdit/MaskEdit.aspx). I would like to know what the process/procedure is to commit this component to the sandbox?
Re: problem with s:timedNotifier
No Mike I'm sure this is not the Seam issue, because other components of sandbox work fine. and Also I studied the source code of the TimedNotifier in decode() method it is written an if statement: if(component instanceof UIInput){ }else{ throw new UnsupportedOperationException(...); // the exception message that I put to this post } Mike Kienenberger wrote: My apologies. I misread your message as saying Tomahawk 1.1.5 and Sandbox 1.1.6. Have you tried a simple example without Seam? Maybe Seam and Tomahawk have compatibility problems. On 6/5/07, is_maximum [EMAIL PROTECTED] wrote: Hi Mike but all of them are latest version. both sandbox and tomahawk are 1.1.5 the only myfaces core api is 1.1.6 Mike Kienenberger wrote: I don't think you can safely mix different Tomahawk and Tomahawk Sandbox versions. These two jar files are tightly-coupled. Be sure you are using jars built from the same source. This is probably also the reason for the other problems you posted. -- View this message in context: http://www.nabble.com/problem-with-s%3AtimedNotifier-tf3864962.html#a10976101 Sent from the MyFaces - Users mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/problem-with-s%3AtimedNotifier-tf3864962.html#a10976418 Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: [Tobago] StateChangeListener doesn't work
Hello David, if you are paging the sheet the stateChangeListener is only called. Maybe we should define in which cases the stateChangeListener should called. Maybe a selectionListener is a better alternative. Please add a bug report to the jira. Regards Bernd David Steinkopff wrote: Hi I register an object with the method public void stateChangeListener(SheetStateChangeEvent e) over EL #{controller.binding['sheet1'].stateChangeListener} I set a break point in this method and change the selected line and press a button without any action method or change a tab in serverside mode. I doesn't reach the break point in the listener method. I used tobago 1.0.11 with facelets 1.1.10. regards David
Re: Tobago - myfaces - tomcat java 1.4
Hello Leonhard, I think tobago is not configured correctly. Can you check the log files. Please look for a log info message '*** contextInitialized ***' Regards Bernd Leonhard Holzer wrote: Hello everybody, I'm trying to configure a sample application using Spring-Webflow, myfaces, tobago to run under tomcat and java 1.4 using the retro libraries. Everything works fine without tobago, b ut when I try to include tobago I get the following error: javax.servlet.ServletException javax.faces.webapp.FacesServlet.service(FacesServlet.java:158) org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130) root cause java.lang.NullPointerException org.apache.myfaces.tobago.context.ClientProperties.init(ClientProperties.java:92) org.apache.myfaces.tobago.context.ClientProperties.getInstance(ClientProperties.java:141) org.apache.myfaces.tobago.application.ViewHandlerImpl.ensureClientProperties(ViewHandlerImpl.java:81) org.apache.myfaces.tobago.application.ViewHandlerImpl.createView(ViewHandlerImpl.java:73) org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:83) org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130) for further explanations: web.xml: ?xml version=1.0 encoding=ISO-8859-1? web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd; version=2.4 context-param param-namecontextConfigLocation/param-name param-value classpath:com/gknplc/mdbClient/stub/services-config.xml /WEB-INF/mdbClient-servlet-config.xml /WEB-INF/mdbClient-webflow-config.xml /param-value /context-param filter filter-namemultipartFormdataFilter/filter-name filter-classorg.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter/filter-class /filter filter-mapping filter-namemultipartFormdataFilter/filter-name url-pattern*.faces/url-pattern /filter-mapping listener listener-classorg.springframework.web.context.ContextLoaderListener/listener-class /listener listener listener-classorg.apache.myfaces.webapp.StartupServletContextListener/listener-class /listener servlet servlet-nameFaces Servlet/servlet-name servlet-classjavax.faces.webapp.FacesServlet/servlet-class load-on-startup1/load-on-startup /servlet servlet servlet-nameResourceServlet/servlet-name servlet-classorg.apache.myfaces.tobago.servlet.ResourceServlet/servlet-class /servlet servlet-mapping servlet-nameFaces Servlet/servlet-name url-pattern*.faces/url-pattern /servlet-mapping servlet-mapping servlet-nameResourceServlet/servlet-name url-pattern/org/apache/myfaces/tobago/renderkit/*/url-pattern /servlet-mapping welcome-file-list welcome-fileindex.jsp/welcome-file /welcome-file-list /web-app The faces-config.xml ?xml version=1.0? !DOCTYPE faces-config PUBLIC -//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN http://java.sun.com/dtd/web-facesconfig_1_0.dtd; faces-config application navigation-handler org.springframework.webflow.executor.jsf.FlowNavigationHandler /navigation-handler variable-resolver org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver /variable-resolver /application lifecycle phase-listener org.springframework.webflow.executor.jsf.FlowPhaseListener /phase-listener /lifecycle /faces-config The tobago-config.xml ?xml version=1.0 encoding=UTF-8? !DOCTYPE tobago-config PUBLIC -//The Apache Software Foundation//DTD Tobago Config 1.0//EN tobago-config_1_0.dtd tobago-config theme-config default-themespeyside/default-theme /theme-config resource-dirtobago-resource/resource-dir resource-dirorg/apache/myfaces/tobago/renderkit/resource-dir /tobago-config Has anybody any suggestion? Thanks Leo
Re: why tab pane submits/validates all tabs
I guess you meant server side tab switch... i tried that, but when I use it, the action or action listener methods are never visited when buttons are clicked... it is very messed up... thanks! On Jun 5, 2007, at 1:01 PM, Alexander Wallace wrote: I'm using server side... But still get the undesired result... Any clues? On Jun 5, 2007, at 12:35 PM, Mike Kienenberger wrote: It's been awhile since I used tabs, but I think if you use server- side tab switching, only the current tab will be rendered (and submitted and validated). If you use client-side tab switching, all tabs are rendered (but hidden with javascript) and all tabs are submitted. On 6/5/07, Alexander Wallace [EMAIL PROTECTED] wrote: I have a MyFaces portlet with 5 or so tabs, each with its own set of independent (i would hope) fields and submit buttons... However, all elements in all tabs are submitted and validated when either of tabs has a submit button clicked... Is this really how it is supposed to be? I'm using MyFaces 114 Thanks!
RE: why tab pane submits/validates all tabs
well the tabbedPane always renders all components but just displays only one tab. As it uses links it needs the form around the whole and submits it in one piece... hth Alexander -Original Message- From: Alexander Wallace [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 05, 2007 10:26 PM To: MyFaces Discussion Subject: Re: why tab pane submits/validates all tabs I guess you meant server side tab switch... i tried that, but when I use it, the action or action listener methods are never visited when buttons are clicked... it is very messed up... thanks! On Jun 5, 2007, at 1:01 PM, Alexander Wallace wrote: I'm using server side... But still get the undesired result... Any clues? On Jun 5, 2007, at 12:35 PM, Mike Kienenberger wrote: It's been awhile since I used tabs, but I think if you use server- side tab switching, only the current tab will be rendered (and submitted and validated). If you use client-side tab switching, all tabs are rendered (but hidden with javascript) and all tabs are submitted. On 6/5/07, Alexander Wallace [EMAIL PROTECTED] wrote: I have a MyFaces portlet with 5 or so tabs, each with its own set of independent (i would hope) fields and submit buttons... However, all elements in all tabs are submitted and validated when either of tabs has a submit button clicked... Is this really how it is supposed to be? I'm using MyFaces 114 Thanks!
Re: myfaces fileupload help
if you are doing this in a portlet, we have a working one... let me know... On Jun 5, 2007, at 2:03 PM, Mike Kienenberger wrote: You will be more likely to get a response if you post your question to the correct list. I've redirected my answer to the MyFaces User mailing list users@myfaces.apache.org which is where you should have posted your question. The two things I see are: filter-mapping filter-nameExtensionsFilter/filter-name servlet-name*.jsf/servlet-name !--filter-namemultipartFilter/filter-name url-pattern/*/url-pattern-- /filter-mapping Should be filter-mapping filter-nameExtensionsFilter/filter-name servlet-nameFaces Servlet/servlet-name /filter-mapping Also, I'm not certain it's legal to specify comma-separated types. Instead of enctype=multipart/form-data, text/plain I would use enctype=multipart/form-data On 6/3/07, Samshuijzen, A. (0771492) [EMAIL PROTECTED] wrote: hi there, I'm really desperate about this inputFileUpload. I've been trying it for 2 days now, but still got a nullpointerexception, from the setter from the UploadedFile myFile. when I debug project with breakpoints he skipps the setter, he only reaches the getter twice and than goes to the action method where it gives also a nullpointerexception because myFile is null. I also just a extensionsfilter in web.xml and I added all the following jar files: - commons-beanutils-1.7.0.jar - commons-codec-1.3.jar - commons-collections-3.1.jar - commons-digester-1.6.jar - commons-el-1.0.jar - commons-fileupload-1.2.jar - commons-io-1.1.jar - commons-lang-2.1.jar - commons-logging-1.0.4.jar - commons-validator-1.3.1.jar - jstl-1.1.0.jar - myfaces-api-1.1.5.jar - myfaces-extensions-1.0.9.jar - myfaces-impl-1.1.5.jar - oro-2.0.8.jar - standard.jar I don't know if I need all them but just in case I added them, I also don't know if I got all the right versions. Are there jar files you don't need to deploy with the project ? I will send you my code, I first zipped it but your mail server blocks zip files, so I have to send each file as a attachement, the java class addstudentBean must be put in a package named: beans. I hope you can help me, I would be really glad if you can take a look at it thanks, Alex
RE: Exception Handling using JSF/MyFaces and Spring
Thanks Kito for the suggestion. I would like to do something like this ... public String createManufacturer() { try{ manufManager.createManufacturer(namsManufacturer); FacesUtils.addInfoMessage(save, Manufacturer, namsManufacturer.getName()); }catch(DuplicateManufacturerIdException ex) { System.out.println( catching DuplicateManufacturerIdException In Backing Bean); FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put(errors, ex.getMessages()); return error; } catch(Exception e) { logger.warn(e.getMessage()); } return success; } Let say if i have error defined in navigation-rule to print errors on different or same page. How should i iterate thru the meesage list and print them on browser. I know its available in RequestMap. A code snippet will be highly appreciated Regards Bansi Kito D. Mann wrote: -Original Message- From: bansi [mailto:[EMAIL PROTECTED] Sent: Friday, June 01, 2007 1:29 PM To: users@myfaces.apache.org Subject: Exception Handling using JSF/MyFaces and Spring I am using JSF MyFaces, Spring, Hibernate . Any pointers/suggestions on how to modify below code to display user-friendly messages onto browser incase an exception occured in JSF Backing Bean or Spring Bean will be highly appreciated Your code looks fine -- if you want the user to see a message on the same page, the simplest thing to do is just add an error message to the FacesContext and return null rather than throwing a FacesException. ~~~ Kito D. Mann - Author, JavaServer Faces in Action http://www.virtua.com - JSF/Java EE consulting, training, and mentoring http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info * Sign up for the JSF Central newsletter! http://oi.vresp.com/?fid=ac048d0e17 * JSF Backing Bean: public List getDeviceTypeList(){ try { deviceTypes = deviceTypeManager.getDeviceTypeList(); // method call to Spring Bean return deviceTypeSelectItems; } catch (Exception e) { String msg = Could not retrieve DeviceType List + e.toString(); this.logger.error(msg); throw new FacesException(msg); } } Spring Bean: public List getDeviceTypeList() throws BaseException{ List deviceTypeList = null; try{ deviceTypeList = deviceTypeDao.findByNamedQuery(findDeviceTypes); // database call } catch (NullPointerException ne) { String msg = Could not retrieve data from Database + ne.getMessage(); this.logger.error(msg, ne); } catch (Exception e) { String msg = Could not retrieve data from Database + e.toString(); this.logger.error(msg, e); throw new BaseException(msg, e); } return deviceTypeList; } Is it true that Spring advocates against having signature of business methods throws exception ??? For example in my case it is public List getDeviceTypeList() throws BaseException Regards Bansi -- View this message in context: http://www.nabble.com/Exception-Handling- using-JSF-MyFaces-and-Spring-tf3853562.html#a10917207 Sent from the MyFaces - Users mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/Exception-Handling-using-JSF-MyFaces-and-Spring-tf3853562.html#a10977673 Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: why tab pane submits/validates all tabs
Ok... i guess that's then the expected behavior, just not what I expected... thanks! On Jun 5, 2007, at 3:37 PM, Jesse Alexander ((KSFD 121)) wrote: well the tabbedPane always renders all components but just displays only one tab. As it uses links it needs the form around the whole and submits it in one piece... hth Alexander -Original Message- From: Alexander Wallace [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 05, 2007 10:26 PM To: MyFaces Discussion Subject: Re: why tab pane submits/validates all tabs I guess you meant server side tab switch... i tried that, but when I use it, the action or action listener methods are never visited when buttons are clicked... it is very messed up... thanks! On Jun 5, 2007, at 1:01 PM, Alexander Wallace wrote: I'm using server side... But still get the undesired result... Any clues? On Jun 5, 2007, at 12:35 PM, Mike Kienenberger wrote: It's been awhile since I used tabs, but I think if you use server- side tab switching, only the current tab will be rendered (and submitted and validated). If you use client-side tab switching, all tabs are rendered (but hidden with javascript) and all tabs are submitted. On 6/5/07, Alexander Wallace [EMAIL PROTECTED] wrote: I have a MyFaces portlet with 5 or so tabs, each with its own set of independent (i would hope) fields and submit buttons... However, all elements in all tabs are submitted and validated when either of tabs has a submit button clicked... Is this really how it is supposed to be? I'm using MyFaces 114 Thanks!
Re: [Trinidad] Input Text Format That Uses A Mask
Roughly speaking, you: - Create an issue on JIRA - Attach a patch - If it's a significant quantity of code, file a CLA http://www.apache.org/licenses/icla.txt It's also generally a good thing to talk over the design first. I'd thing it'd be great if this were part of the client-side validation code, instead of just its own code. I think getting this issue fixed: http://issues.apache.org/jira/browse/TRINIDAD-37 ... would be important for that. I'd love to see this functionality! -- Adam On 6/5/07, William Hoover [EMAIL PROTECTED] wrote: Hello all, I have created a Trinidad component that allows input text boxes to have a user defined mask for entries on the client (similar to Atlas MaskEdit http://www.fci.com.br/maskedit/MaskEdit/MaskEdit.aspx). I would like to know what the process/procedure is to commit this component to the sandbox?
ViewTag exception
Hi people. I getting the following error when trying to start the Tomcat 5.5 server. I am using myfaces 1.1.3... org.apache.jasper.JasperException: com/sun/faces/taglib/jsf_core/ViewTag org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) I have read that when using myfaces, I can not add anything of sun, for example de jsf-api and jsf-impl. I have done this, but the error remains. Also, I have read that I have to delete anything related to sun... My web.xml: web-app id=WebApp_ID display-nameICARE-GUI/display-name context-param param-namejavax.faces.DEFAULT_SUFFIX/param-name param-value.jsf/param-value /context-param listener listener-classorg.apache.myfaces.webapp.StartupServletContextListener/listener-class /listener servlet-mapping servlet-namejsp/servlet-name url-pattern*.jsf/url-pattern /servlet-mapping servlet servlet-nameFaces Servlet/servlet-name servlet-classjavax.faces.webapp.FacesServlet/servlet-class load-on-startup1/load-on-startup /servlet servlet-mapping servlet-nameFaces Servlet/servlet-name url-pattern*.faces/url-pattern /servlet-mapping welcome-file-list welcome-fileindex.html/welcome-file welcome-fileindex.htm/welcome-file welcome-fileindex.jsp/welcome-file /welcome-file-list /web-app My libs: You can see the print screen of Eclipse in the following image... http://www.cin.ufpe.br/~hp/libs.jpg Do I have to delete something else? Or do I have to add something like the tld files? Actually, I did not run myfaces yet. I have solved the ConfigureListener problem... but another problem came up (this one). Thank you very much... :) -- View this message in context: http://www.nabble.com/ViewTag-exception-tf3875023.html#a10980020 Sent from the MyFaces - Users mailing list archive at Nabble.com.
RE: Exception Handling using JSF/MyFaces and Spring
Bansi, Usually, you would just add a new FacesMessage to the FacesContext like so: facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, Duplicate id found, detailed description)); (I'm assuming that your FacesUtils class has a addErrorMessage() method which you could use instead.) And then display it in your error page like so: h:messages globalOnly=true/ What does ex.getMessages() return? -Original Message- From: bansi [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 05, 2007 4:01 PM To: users@myfaces.apache.org Subject: RE: Exception Handling using JSF/MyFaces and Spring Thanks Kito for the suggestion. I would like to do something like this ... public String createManufacturer() { try{ manufManager.createManufacturer(namsManufacturer); FacesUtils.addInfoMessage(save, Manufacturer, namsManufacturer.getName()); }catch(DuplicateManufacturerIdException ex) { System.out.println( catching DuplicateManufacturerIdException In Backing Bean); FacesContext.getCurrentInstance().getExternalContext().getRequestMap(). put(errors, ex.getMessages()); return error; } catch(Exception e) { logger.warn(e.getMessage()); } return success; } Let say if i have error defined in navigation-rule to print errors on different or same page. How should i iterate thru the meesage list and print them on browser. I know its available in RequestMap. A code snippet will be highly appreciated Regards Bansi Kito D. Mann wrote: -Original Message- From: bansi [mailto:[EMAIL PROTECTED] Sent: Friday, June 01, 2007 1:29 PM To: users@myfaces.apache.org Subject: Exception Handling using JSF/MyFaces and Spring I am using JSF MyFaces, Spring, Hibernate . Any pointers/suggestions on how to modify below code to display user-friendly messages onto browser incase an exception occured in JSF Backing Bean or Spring Bean will be highly appreciated Your code looks fine -- if you want the user to see a message on the same page, the simplest thing to do is just add an error message to the FacesContext and return null rather than throwing a FacesException. ~~~ Kito D. Mann - Author, JavaServer Faces in Action http://www.virtua.com - JSF/Java EE consulting, training, and mentoring http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info * Sign up for the JSF Central newsletter! http://oi.vresp.com/?fid=ac048d0e17 * JSF Backing Bean: public List getDeviceTypeList(){ try { deviceTypes = deviceTypeManager.getDeviceTypeList(); // method call to Spring Bean return deviceTypeSelectItems; } catch (Exception e) { String msg = Could not retrieve DeviceType List + e.toString(); this.logger.error(msg); throw new FacesException(msg); } } Spring Bean: public List getDeviceTypeList() throws BaseException{ List deviceTypeList = null; try{ deviceTypeList = deviceTypeDao.findByNamedQuery(findDeviceTypes); // database call } catch (NullPointerException ne) { String msg = Could not retrieve data from Database + ne.getMessage(); this.logger.error(msg, ne); } catch (Exception e) { String msg = Could not retrieve data from Database + e.toString(); this.logger.error(msg, e); throw new BaseException(msg, e); } return deviceTypeList; } Is it true that Spring advocates against having signature of business methods throws exception ??? For example in my case it is public List getDeviceTypeList() throws BaseException Regards Bansi -- View this message in context: http://www.nabble.com/Exception- Handling- using-JSF-MyFaces-and-Spring-tf3853562.html#a10917207 Sent from the MyFaces - Users mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/Exception-Handling- using-JSF-MyFaces-and-Spring-tf3853562.html#a10977673 Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: designing h:dataTable
Hi Thanks All, Actually I do not want to change my h:dataTable now. I want to keep h:dataTable(which displaying second row header). So is it possible with normal html table.Since I tried with it but its not accepting colspan for normal html. Any code sample will be great help for me. Thanks Sandip Ryan Wynn-2 wrote: t:dataList allows you more fine grained control over the display. On 6/5/07, ncheltsov [EMAIL PROTECTED] wrote: I am not sure, that I fully understand your question, but I think, that h:dataTable element is not intended for such use. You can display with it some tabular information, set header and footer and apply some visual cosmetic. That's all. Consider using other component. P.S. Of course I can be wrong. I will be glad someone to correct me :) sandipp wrote: Hi All, I want to design datatTable as, --- Edit | Personal Information| Account Information | --- edit | first name | middle name |last name | bank name | a/c no | --- I am able to get second row by follwoing code as. h:dataTable width=100% border=0 headerClass=firstRow rowClasses=row1,row2 value=SomeValue h:column f:facet name=header h:outputText id=editHeader value=edit / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=first name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=middle name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=last name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=bank name / /f:facet /h:column h:column f:facet name=header h:outputText id=editHeader value=a/c no / /f:facet /h:column /h:dataTable But I am not able to set first row. i.e. I want Edit from first row will fit for edit for second row lly, Personal Information will fit for first name,middle name,last name and Account Information will fit for bank name a/c no Can anybody tell me how to do this ? Thanks Sandip -- View this message in context: http://www.nabble.com/designing-h%3AdataTable-tf3871240.html#a10981867 Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: HtmlRendererUtils - There should always be a submitted value
Mike Kienenberger wrote: I've also had it happen if the page changes and the facelets component tree (or jsp page) is still cached somewhere. I'm almost completely certain it is not a caching issue (although it would be good to know if one could configure Tomcat not to cache anything, ever...) I've hand nuked caches several times and tried executing on a different machine (Tomcat running on the localhost in both cases). Shane Same idea -- the expected submitted page elements do not match the actual submitted page elements. On 6/5/07, Shane Petroff [EMAIL PROTECTED] wrote: I am having some strange navigation problems (once again...) and the only clue I have is the warning below. HtmlRendererUtils - There should always be a submitted value for an input if it is rendered, its form is submitted, and it is not disabled or read-only. In Googling the error message, it seems that the problem should be related to using Javascript to disable a control which my-faces expects to get a value from. The warning goes on to name the component in question, but there isn't any Javascript which touches these text areas, in fact there isn't any Javascript which disables anything. The components which are (in theory) causing the warning are certainly not disabled visually and for the most part they all contain text. They also happen to be created in Java code, so there is no jsp to post here. Can anyone give me a more detailed interpretation of what the warning means and when it arises? -- Shane -- Shane