Question

Je suis expérimenté avec Spring MVC et je ESSAYER Stripes pour décider de l'essayer pour un nouveau projet.

Dans Spring MVC, je préparerait les données de modèle et de le transmettre à la vue en l'ajoutant à une carte dans l'instance ModelAndView créée par mon contrôleur. Je ne parviens pas à trouver l'équivalent de ce Stripes.

Il semble que le parallèle le plus proche est d'avoir une ActionBean préparer mes données de modèle et de l'ajouter à la HttpSession. Un ForwardRedirect est utilisé pour charger la vue et les données sont accessibles à partir de la session.

Y at-il un meilleur support pour un contrôleur avant fourni par Stripes, ou est-ce un principe de conception tout à fait différent de Spring MVC? (À savoir que je dois appeler des méthodes de la vue à l'aide de EL pour récupérer des données, comme certains des exemples font)

Merci!

Était-ce utile?

La solution

Une conception MVC typique Stripes ressemblerait à quelque chose comme le code ci-dessous.

L'entité JPA est automatiquement chargée par un intercepteur de rayures fournies par Stripersist (mais cela peut aussi facilement mis en œuvre sur votre propre si vous le souhaitez). Ainsi, dans cet exemple, demander http://your.app/show-order-12.html va charger un ordre avec identifiant 12 de la base de données et l'afficher sur la page.

Controller (OrderAction.java):

@UrlBinding("/show-order-{order=}.html")
public class OrderAction implements ActionBean {
    private ActionBeanContext context;
    private Order order;

    public ActionBeanContext getContext() {
        return context;
    }

    public void setContext(ActionBeanContext context) {
        this.context = context;
    }

    public void setOrder(Order order) {
        this.order = order;
    }

    public String getOrder() {
        return order;
    }

    @DefaultHandler
    public Resolution view() {
        return new ForwardResolution(“/WEB-INF/jsp/order.jsp”);
    }
}

Voir (order.jsp):

<html><body>
    Order id: ${actionBean.order.id}<br/>
    Order name: ${actionBean.order.name)<br/>
    Order total: ${actionBean.order.total)<br/>
</body></html>

Modèle (Order.java):

@Entity
public class Order implements Serializable {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String name;
    private Integer total;

    public String getName() {
        return name;
    }

    public Integer getTotal() {
        return total;
    }   
}

BTW il y a un vraiment excellent livre court sur Stripes qui couvre toutes ces choses (!):

Stripes: ... et Java Web Development est amusant de nouveau

Autres conseils

Ok je l'ai compris. Attributs ajoutés au HttpServletRequest (récupéré à partir du contexte) sont disponibles dans la page réception du ForwardRedirect

IE . Context.getRequest () setAttribute ( "attr1", "attribut de requête 1"); return new ForwardResolution ( "/ WEB-INF / pages / hello.jsp");

Dans hello.jsp $ {} Attr1 est disponible ... youpi!

Il est une solution agréable pour nopCommerce 3.20 (MVC). Il est un plugin de paiement de soutien, autoriser, AUTORISE / capture, remboursement et partiellement le remboursement. inclus la conformité PCI, aucune information CC est stockée sur db http://shop.wama-net.com/en/stripe -paiement-plugin-pour-nopCommerce

Jacky

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top