Quantcast

Drop JSF Support

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Drop JSF Support

mraible
Administrator
Hey all,

I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.

Would anyone have a problem with removing JSF?

Thanks,

Matt
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

Hantsy Bai-2
Hi Matt,

I am a big fan of JSF, but most of My JSF projects are based on Java
EE6, currently only one  new project used JSF/Spring, and some other
tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.

In fact, I more like CDI now.

But another trend in Spring world, the stateful framework became more
important than ever, such as Spring WebFlow, JSF became the first class
support there.

Kind regards
Hantsy

On 11/5/2012 10:59, Matt Raible wrote:
> Hey all,
>
> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>
> Would anyone have a problem with removing JSF?
>
> Thanks,
>
> Matt

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

mraible
Administrator
Hey all,

I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).

Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.

Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:

    <div class="control-group">
        <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
        <div class="controls">
            <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
            <t:message for="firstName" styleClass="help-inline"/>
        </div>
    </div>

The problem is, I need to add an "error" class to the first div when validation fails. For example:

<div class="control-group warning">

However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?

Thanks,

Matt

On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:

> Hi Matt,
>
> I am a big fan of JSF, but most of My JSF projects are based on Java
> EE6, currently only one  new project used JSF/Spring, and some other
> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>
> In fact, I more like CDI now.
>
> But another trend in Spring world, the stateful framework became more
> important than ever, such as Spring WebFlow, JSF became the first class
> support there.
>
> Kind regards
> Hantsy
>
> On 11/5/2012 10:59, Matt Raible wrote:
>> Hey all,
>>
>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>
>> Would anyone have a problem with removing JSF?
>>
>> Thanks,
>>
>> Matt
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

Hantsy Bai-2
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:

> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

Imad Bougataya-2
Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

mraible
Administrator
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

jogaco
AppFuse is already capable of client-side validation via javascript. The only problem is this does not work with visitor validator.

J.


On Wed, Nov 7, 2012 at 4:58 PM, Matt Raible <[hidden email]> wrote:
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

Hantsy Bai-2
Hi all ,

Personally, I dislike Struts framework, and gave up it several years ago, it's configuration(XML or annotation) is a little tedious for development, and it is slow to response to the latest Java EE specs(compared to the JSR330, JSR303 supports in Spring, it is late 3 years ).  If there is a jquery or an updated DOJO(1.x, not the old 0.4 in before version) based client solution for Struts,  that is good.

If I select an action based(URL driven) framework, Stripes and Spring MVC will be considered, Struts is never considered.

Hantsy

On 11/8/2012 00:27, J. Garcia wrote:
AppFuse is already capable of client-side validation via javascript. The only problem is this does not work with visitor validator.

J.


On Wed, Nov 7, 2012 at 4:58 PM, Matt Raible <[hidden email]> wrote:
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt






Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

mraible
Administrator
Are you talking about Struts 1 or Struts 2? I agree that Struts 1 is terrible.

On Nov 7, 2012, at 17:15, Hantsy Bai <[hidden email]> wrote:

Hi all ,

Personally, I dislike Struts framework, and gave up it several years ago, it's configuration(XML or annotation) is a little tedious for development, and it is slow to response to the latest Java EE specs(compared to the JSR330, JSR303 supports in Spring, it is late 3 years ).  If there is a jquery or an updated DOJO(1.x, not the old 0.4 in before version) based client solution for Struts,  that is good.

If I select an action based(URL driven) framework, Stripes and Spring MVC will be considered, Struts is never considered.

Hantsy

On 11/8/2012 00:27, J. Garcia wrote:
AppFuse is already capable of client-side validation via javascript. The only problem is this does not work with visitor validator.

J.


On Wed, Nov 7, 2012 at 4:58 PM, Matt Raible <[hidden email]> wrote:
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt






Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

Hantsy Bai-2
Hi Matt,

Appfuse only supports Struts 2 now, of course I was talking about Struts2.  I have not used Struts 2 at all since 2008, I switched to JSF/Seam2 and newest Java EE6/CDI/JSF2 now. I also keep an eye open on other component based frameworks, such as Wicket, Tapestry, GWT etc.

For me,  Spring 3.x MVC is a good option for Rest support besides the official JSR311 spec.

Due to many tools are born in these days, such Spring Roo, JBoss Forge which is easy to create a startup application as Appfuse does , I think Appfuse should change its orientation, and make it still attractive for developers. I have complaint before, Spring is not lightweight now, and Java EE is also not heavyweight in these years.

Hantsy

On 11/8/2012 08:42, Matt Raible wrote:
Are you talking about Struts 1 or Struts 2? I agree that Struts 1 is terrible.

On Nov 7, 2012, at 17:15, Hantsy Bai <[hidden email]> wrote:

Hi all ,

Personally, I dislike Struts framework, and gave up it several years ago, it's configuration(XML or annotation) is a little tedious for development, and it is slow to response to the latest Java EE specs(compared to the JSR330, JSR303 supports in Spring, it is late 3 years ).  If there is a jquery or an updated DOJO(1.x, not the old 0.4 in before version) based client solution for Struts,  that is good.

If I select an action based(URL driven) framework, Stripes and Spring MVC will be considered, Struts is never considered.

Hantsy

On 11/8/2012 00:27, J. Garcia wrote:
AppFuse is already capable of client-side validation via javascript. The only problem is this does not work with visitor validator.

J.


On Wed, Nov 7, 2012 at 4:58 PM, Matt Raible <[hidden email]> wrote:
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt







Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

mraible
Administrator
Yes, we do hope to improve our JSF support. See the roadmap for the next release (2.3).

2.3 
AMP for all light modules
Wicket
PrimeFaces


Of course, if you have any other suggestions to improve our JSF support, we'd love to hear them.

On Nov 7, 2012, at 7:35 PM, Hantsy Bai <[hidden email]> wrote:

Hi Matt,

Appfuse only supports Struts 2 now, of course I was talking about Struts2.  I have not used Struts 2 at all since 2008, I switched to JSF/Seam2 and newest Java EE6/CDI/JSF2 now. I also keep an eye open on other component based frameworks, such as Wicket, Tapestry, GWT etc.

For me,  Spring 3.x MVC is a good option for Rest support besides the official JSR311 spec.

Due to many tools are born in these days, such Spring Roo, JBoss Forge which is easy to create a startup application as Appfuse does , I think Appfuse should change its orientation, and make it still attractive for developers. I have complaint before, Spring is not lightweight now, and Java EE is also not heavyweight in these years.

Hantsy

On 11/8/2012 08:42, Matt Raible wrote:
Are you talking about Struts 1 or Struts 2? I agree that Struts 1 is terrible.

On Nov 7, 2012, at 17:15, Hantsy Bai <[hidden email]> wrote:

Hi all ,

Personally, I dislike Struts framework, and gave up it several years ago, it's configuration(XML or annotation) is a little tedious for development, and it is slow to response to the latest Java EE specs(compared to the JSR330, JSR303 supports in Spring, it is late 3 years ).  If there is a jquery or an updated DOJO(1.x, not the old 0.4 in before version) based client solution for Struts,  that is good.

If I select an action based(URL driven) framework, Stripes and Spring MVC will be considered, Struts is never considered.

Hantsy

On 11/8/2012 00:27, J. Garcia wrote:
AppFuse is already capable of client-side validation via javascript. The only problem is this does not work with visitor validator.

J.


On Wed, Nov 7, 2012 at 4:58 PM, Matt Raible <[hidden email]> wrote:
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt








Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

Flávio Oliva
my suggestion, Go for CDI!


On Thu, Nov 8, 2012 at 12:39 AM, Matt Raible <[hidden email]> wrote:
Yes, we do hope to improve our JSF support. See the roadmap for the next release (2.3).

2.3 
AMP for all light modules
Wicket
PrimeFaces


Of course, if you have any other suggestions to improve our JSF support, we'd love to hear them.

On Nov 7, 2012, at 7:35 PM, Hantsy Bai <[hidden email]> wrote:

Hi Matt,

Appfuse only supports Struts 2 now, of course I was talking about Struts2.  I have not used Struts 2 at all since 2008, I switched to JSF/Seam2 and newest Java EE6/CDI/JSF2 now. I also keep an eye open on other component based frameworks, such as Wicket, Tapestry, GWT etc.

For me,  Spring 3.x MVC is a good option for Rest support besides the official JSR311 spec.

Due to many tools are born in these days, such Spring Roo, JBoss Forge which is easy to create a startup application as Appfuse does , I think Appfuse should change its orientation, and make it still attractive for developers. I have complaint before, Spring is not lightweight now, and Java EE is also not heavyweight in these years.

Hantsy

On 11/8/2012 08:42, Matt Raible wrote:
Are you talking about Struts 1 or Struts 2? I agree that Struts 1 is terrible.

On Nov 7, 2012, at 17:15, Hantsy Bai <[hidden email]> wrote:

Hi all ,

Personally, I dislike Struts framework, and gave up it several years ago, it's configuration(XML or annotation) is a little tedious for development, and it is slow to response to the latest Java EE specs(compared to the JSR330, JSR303 supports in Spring, it is late 3 years ).  If there is a jquery or an updated DOJO(1.x, not the old 0.4 in before version) based client solution for Struts,  that is good.

If I select an action based(URL driven) framework, Stripes and Spring MVC will be considered, Struts is never considered.

Hantsy

On 11/8/2012 00:27, J. Garcia wrote:
AppFuse is already capable of client-side validation via javascript. The only problem is this does not work with visitor validator.

J.


On Wed, Nov 7, 2012 at 4:58 PM, Matt Raible <[hidden email]> wrote:
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt











--
Flávio Oliva
+55 61 8319 4588
[hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Drop JSF Support

mraible
Administrator
Can you elaborate on what you mean by CDI? Replace Spring's @Autowired with @Inject?

Patches welcome. ;)

On Nov 15, 2012, at 4:14 PM, Flávio Oliva <[hidden email]> wrote:

my suggestion, Go for CDI!


On Thu, Nov 8, 2012 at 12:39 AM, Matt Raible <[hidden email]> wrote:
Yes, we do hope to improve our JSF support. See the roadmap for the next release (2.3).

2.3 
AMP for all light modules
Wicket
PrimeFaces


Of course, if you have any other suggestions to improve our JSF support, we'd love to hear them.

On Nov 7, 2012, at 7:35 PM, Hantsy Bai <[hidden email]> wrote:

Hi Matt,

Appfuse only supports Struts 2 now, of course I was talking about Struts2.  I have not used Struts 2 at all since 2008, I switched to JSF/Seam2 and newest Java EE6/CDI/JSF2 now. I also keep an eye open on other component based frameworks, such as Wicket, Tapestry, GWT etc.

For me,  Spring 3.x MVC is a good option for Rest support besides the official JSR311 spec.

Due to many tools are born in these days, such Spring Roo, JBoss Forge which is easy to create a startup application as Appfuse does , I think Appfuse should change its orientation, and make it still attractive for developers. I have complaint before, Spring is not lightweight now, and Java EE is also not heavyweight in these years.

Hantsy

On 11/8/2012 08:42, Matt Raible wrote:
Are you talking about Struts 1 or Struts 2? I agree that Struts 1 is terrible.

On Nov 7, 2012, at 17:15, Hantsy Bai <[hidden email]> wrote:

Hi all ,

Personally, I dislike Struts framework, and gave up it several years ago, it's configuration(XML or annotation) is a little tedious for development, and it is slow to response to the latest Java EE specs(compared to the JSR330, JSR303 supports in Spring, it is late 3 years ).  If there is a jquery or an updated DOJO(1.x, not the old 0.4 in before version) based client solution for Struts,  that is good.

If I select an action based(URL driven) framework, Stripes and Spring MVC will be considered, Struts is never considered.

Hantsy

On 11/8/2012 00:27, J. Garcia wrote:
AppFuse is already capable of client-side validation via javascript. The only problem is this does not work with visitor validator.

J.


On Wed, Nov 7, 2012 at 4:58 PM, Matt Raible <[hidden email]> wrote:
If you can get one of the following client-side techniques working, I'd be happy to add it:


On Nov 6, 2012, at 4:31 AM, Imad Bougataya <[hidden email]> wrote:

Hey Matt, i use mainly struts, but when you spoke about client side validation, it rang a bell. Do you plan to have a client side validation mechanism in the struts archetype? i think that would be a nice feature for future releases since form validation may be a little tricky sometimes.

regards,
Imad


2012/11/6 Hantsy Bai <[hidden email]>
Hi Matt,
I also used Bootstrap in my JSF application.
I defined a composite component in my application which is similar with
your snippets.

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:cc="http://java.sun.com/jsf/composite">

    <cc:interface componentType="org.jboss.seam.faces.InputContainer">
        <cc:attribute name="label" required="false" />
        <cc:attribute name="required" required="false" default="false" />
        <cc:attribute name="ajax" required="false" default="false" />
        <cc:attribute name="inputs" required="false" default="1" />
    </cc:interface>

    <cc:implementation>
        <div class="control-group #{cc.attrs.invalid ? 'error' : ''}"
            id="#{cc.clientId}">
            <ui:fragment rendered="#{cc.attrs.label ne null}">
                <h:outputLabel id="label" for="" value="#{cc.attrs.label}:"
                    styleClass="control-label">
                    <h:panelGroup styleClass="required"
rendered="#{cc.attrs.required}">*</h:panelGroup>
                </h:outputLabel>
            </ui:fragment>
            <div class="controls">
                <cc:insertChildren />
                <h:panelGroup rendered="#{cc.attrs.invalid}" layout="block"
                    styleClass="help-block">
                    <c:forEach var="i" begin="1" end="#{cc.attrs.inputs}">
                        <h:message id="message#{i}" for=""
styleClass="error errors" />
                    </c:forEach>
                </h:panelGroup>
            </div>
        </div>
    </cc:implementation>

</ui:composition>

And used it in the page.

<p:input ....

But the InputContainer is from Seam3 faces module, and it is not a
client validation solution, I also encountered problem when using it in
popup/modal panel, the error can not be removed automatically.

Some JSF components provides client validation directly, such as
Richfaces4 .

Hantsy










On 11/6/2012 08:12, Matt Raible wrote:
> Hey all,
>
> I didn't receive much feedback on this, so it likely means most don't care (and aren't using JSF).
>
> Last night, I decided to keep it for this next release - but with less functionality. First of all, I ran into issues getting the Shale Validator (which is a retired project at Apache) to work with the latest MyFaces release. So I decided to remove JSF client-side validation support since it doesn't ship with it by default anyway.
>
> Another thing I ran into is integrating it with Bootstrap. Below is how a form row looks after conforming to Bootstrap's conventions:
>
>     <div class="control-group">
>         <h:outputLabel styleClass="control-label" for="firstName" value="#{text['user.firstName']}"/>
>         <div class="controls">
>             <h:inputText id="firstName" value="#{signupForm.user.firstName}" maxlength="50" required="true"/>
>             <t:message for="firstName" styleClass="help-inline"/>
>         </div>
>     </div>
>
> The problem is, I need to add an "error" class to the first div when validation fails. For example:
>
> <div class="control-group warning">
>
> However, I don't see anything in MyFaces or Tomahawk's component library that will let me detect if an error exists for the field. <t:message> only prints out the error message. Does anyone know the error key to look for or know how I might determine when to add "error" to the field?
>
> Thanks,
>
> Matt
>
> On Nov 4, 2012, at 8:07 PM, Hantsy Bai <[hidden email]> wrote:
>
>> Hi Matt,
>>
>> I am a big fan of JSF, but most of My JSF projects are based on Java
>> EE6, currently only one  new project used JSF/Spring, and some other
>> tools, such Spring Data JPA/PrettyFaces/Primefaces/SpringSecurity etc.
>>
>> In fact, I more like CDI now.
>>
>> But another trend in Spring world, the stateful framework became more
>> important than ever, such as Spring WebFlow, JSF became the first class
>> support there.
>>
>> Kind regards
>> Hantsy
>>
>> On 11/5/2012 10:59, Matt Raible wrote:
>>> Hey all,
>>>
>>> I'm writing to see if there's a lot of AppFuse users using the JSF version? I'm thinking of removing support for it in the next release. A lot of it's libraries aren't being updated and I think the other web frameworks are much stronger/better.
>>>
>>> Would anyone have a problem with removing JSF?
>>>
>>> Thanks,
>>>
>>> Matt











--
Flávio Oliva
+55 61 8319 4588
[hidden email]


Loading...