Partage
  • Partager sur Facebook
  • Partager sur Twitter

Struts 1 ou 2 voir JSF

Quoi choisir

Anonyme
    26 mars 2009 à 21:12:29

    Bonjour,

    je souhaite développer un site web malheureusement je ne sais pas quel framework prendre.
    Je veux que le site soit facilement accecible et que le framework fournisse bcp de doc.

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      26 mars 2009 à 21:26:49

      °_0? hein ? un site en java ?
      • Partager sur Facebook
      • Partager sur Twitter
        26 mars 2009 à 21:42:06

        Citation : Snooooopy

        °_0? hein ? un site en java ?


        Oui, en J2EE.

        Tu peux regarder du côté de Struts 2, Spring, ou Telosys. Qui sont soit des framework connus, soit des framework grandissant (Telosys). Doit y avoir des ressorces sur les sites officiels, ou sur developpez.com.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          26 mars 2009 à 21:51:01

          Pour ma part j'ai fait du struts2 et du wicket, ce sont 2 frameworks très sympa.

          Struts2 est très puissant et une fois maîtrisé assez simple et intuitif.

          Ca c'est pour la vue, sinon, Spring est très sympa pour la DI et plein d'autres choses aussi, c'est une vraie boite a outils.
          Pour la persistance jpa et une implémentation sont un bon choix.

          Je te conseille 'Struts2 in action' de chez Manning pour te lancer dedans, excellent bouquin.
          • Partager sur Facebook
          • Partager sur Twitter
            26 mars 2009 à 22:25:12

            Pour faire un site web, moi je prendrais : Spring, Struts, et un framework au choix pour la base de données (Ibatis, Hibernates, etc...)

            D'ailleur, si tu veux te lancé la dessu, il y a un très bon article sur développez.com pour l'utilisation de Spring et comment faire un site en 3 tiers :)
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              26 mars 2009 à 22:28:34

              Duffy tu conseil aussi Struts 2 ?

              Pour ma part, je viens de tester JSF à l'instant. Un exemple assez simple et il ne réponds pas à mes besoins je pense. En effet. Un simple formulaire et liens implique un code générer pas très lissible et tu javascript...
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                26 mars 2009 à 23:03:24

                En struts 2 pour faire un formulaire (créaction d'un compte ici) on a bien sur une jsp:
                <?xml version="1.0" encoding="UTF-8" ?>
                
                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                
                <%@ page language="java" contentType="text/html; charset=UTF-8"
                    pageEncoding="UTF-8"%>
                <%@ taglib prefix="s" uri="/struts-tags"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
                
                <html xmlns="http://www.w3.org/1999/xhtml">
                
                <head>
                  	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                  	<title><s:text name="account.page"/></title>
                </head>
                
                <body>
                <jsp:include page="header.jsp" />
                
                <s:form action="AccountCreationForm">
                    <s:textfield name="login" label="Login" labelposition="left"/>
                    <s:password name="password" label="Password" labelposition="left"/>
                    <s:password name="passwordConf" label="Password Confirmation" labelposition="left"/>
                    <s:textfield name="email" label="Email" labelposition="left"/><br/>
                    <s:submit type= "image" src="_img/submit.jpg" method="register" value="SUBMIT" align="center" />
                </s:form>
                
                <jsp:include page="footer.jsp" />
                </body>
                </html>
                


                Qui est associée à une classe action (via un fichier de mapping xml)
                package be.ascentshop.general.actions;
                
                import org.springframework.beans.factory.annotation.Autowired;
                
                import be.ascentshop.general.ConnectionService;
                
                import com.opensymphony.xwork2.validator.annotations.EmailValidator;
                import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
                import com.opensymphony.xwork2.validator.annotations.ValidatorType;
                
                public class AccountCreationForm extends BaseAction {
                
                    private String login;
                    private String password;
                    private String passwordConf;
                    private String email;
                
                    @Autowired
                    private transient ConnectionService service;
                
                    public final String input() {
                        return INPUT;
                    }
                
                    public final String register() {
                        if (this.getPassword().equals(this.getPasswordConf())) {
                            if (!service.isAccountExist(this.getLogin())
                                    && !service.isTempAccountExist(this.getLogin())) {
                                service.createUnvalidatedAccount(login, password, email);
                                return SUCCESS;
                            } else {
                                addFieldError("login", "This User Name already exist");
                                return INPUT;
                            }
                
                        } else {
                            addFieldError("passwordConf",
                                    "Password confirmation are not the same");
                            return INPUT;
                        }
                
                    }
                
                
                    public final String getLogin() {
                        return login;
                    }
                
                    @RequiredStringValidator(
                            type = ValidatorType.FIELD,
                            message = "Login is required")
                    public final void setLogin(final String param) {
                        this.login = param;
                    }
                
                    public final String getPassword() {
                        return password;
                    }
                
                    @RequiredStringValidator(
                            type = ValidatorType.FIELD,
                            message = "Password is required")
                    public void setPassword(final String param) {
                        this.password = param;
                    }
                
                    public final String getPasswordConf() {
                        return passwordConf;
                    }
                
                    @RequiredStringValidator(
                            type = ValidatorType.FIELD,
                            message = "Password confirmation is required")
                    public final void setPasswordConf(final String param) {
                        this.passwordConf = param;
                    }
                
                    public final String getEmail() {
                        return email;
                    }
                
                    /**
                     * @param param Email injected
                     */
                    @RequiredStringValidator(
                            type = ValidatorType.FIELD,
                            message = "E-mail is required"
                                )
                    @EmailValidator(
                            message = "Please enter a valid e-mail"
                                )
                    public final void setEmail(final String param) {
                        this.email = param;
                    }
                
                    /***/
                    private static final long serialVersionUID = -5085917594743322739L;
                }
                

                On injecte les données de la jsp dans la classe grâce aux getter/setter, et lors du clic sur le bouton, on appelle la méthode register().
                et enfin ce code appelle la logique qui lui appelle la persistance, mais on sort du sujet.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  26 mars 2009 à 23:37:18

                  Je vais regarder struts 2 de plus prêt mais son utilisation annotation etc... semble séduisante
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 mars 2009 à 23:44:25

                    pour ma part je n'ai développé des sites web J2EE qu'en JSF, je trouve ça très pratique, mais par contre (à ce qu'il parait car je ne l'ai fait que dans un cadre expérimental et non productif) un serveur d'application glassfish (pour JSF donc) coûte très cher en location.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 mars 2009 à 8:25:32

                      Moi j'ai utilisé Strut1, c'est pas forcément évident à prendre en main, mais une fois fait, c'est très très agréable !
                      Un MVC très bien structuré, très bien décomposé.

                      Je pense que Struts 2 doit être encore mieux donc je te le conseil.
                      Après je connais pas les autres.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Struts 1 ou 2 voir JSF

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown