Hi, just answering what David could not help you with.
> 4- RIFE offers methods like getParameterInt() and for other types. > Would be better to offer something like what WebWork do ? > In WebWork, you write : > <ww:textfield name="user.name" /> > And the framework will create instance of User class automatically, > and with the support > of type converters, developer's life is so enjoyable. Again there's no need for that since you push data into templates, you don't pull them in. With RIFE, you'd just do template.setBean(bean) and all the properties will be filled into value tags in the template. You can optionally use prefixes. Also, to retrieve parameters you're not required to do getParameterInt(), many people just use getSubmissionBean to get the entire bean from a response. Also, you can use setter injection if you don't want to call code explicitly and have RIFE inject the values automatically: http://rifers.org/wiki/display/RIFE/Injection+and+outjection+support+for+all+element+data+%28bijection%29 Also, if you just want to display a parameter, input or cookie that was just sent, you can use the following template tags: <!--V 'PARAM:paramName'/--> <!--V 'INPUT:inputName'/--> <!--V 'INCOOKIE:incookieName'/--> > 5- What is FormBuilder ? > Again, isn't forms supposed to exist in the HTML page ? You can read all about it here: http://rifers.org/wiki/display/RIFE/Forms > 6- We all know these URLs : > /catalog/item.do?id=23 > How to generate such URL in RIFE ? Or RIFE is like JSF (post for every > thing) ? Simple answer, you don't do it explicitly. You setup your data flow in your site structure (exit, global vars, data links, etc etc) and then you use the tag <!--V 'EXIT:QUERY:exitName'/--> and it will be automatically replaced with the correct URL. This takes everything RIFE knows about your webapp into consideration, also the web app name. So you can relocate and install all RIFE application anywhere you want. If you need some custom data to be passed for particular exits (in loops that build up lists of links for instance), you can use the setExitQuery() method. Note that RIFE also supports pathinfo mapping, which allows you to very easily turn the url you just gave into: /catalog/item/23 (http://rifers.org/wiki/display/RIFE/Pathinfo+mapping+for+element+inputs) > 7- bean.addConstraint( > new ConstrainedProperty("login").maxLength(8); > With the following : > <!--V 'FORM:INPUT:property'-->size="10"<!--/V--> > will generate : > <input type="text" name="login" size="10" maxlength="8" /> > Why not just writing : > <!--V 'FORM:INPUT:property'-->size="10" maxlength="8"<!--/V--> You can write that if you want. However, having the maxlength as meta data for the bean property means that everything in the framework can adapt to it: the column size when the database table is created, the maxlength in the form, the validation check when you process a bean instance, etc etc. Doing it as a constraint huge reduces repetition, and you're doing it in Java land again, and for individual bean instances. Meaning that this could even change at runtime or be applied conditionally. More info here: http://rifers.org/wiki/display/RIFE/Constraints Hope this helps, Geert > > -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn "Use what you need" - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "rife-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rife-users?hl=en -~----------~----~----~----~------~----~------~--~---
