题
我在Spring MVC方面经验丰富,并正在尝试进行条纹决定是否尝试为新项目尝试。
在Spring MVC中,我将准备模型数据,并通过将其添加到由我的控制器创建的ModelAndView实例中的地图中传递到视图。我很难找到与条纹的等效物。
似乎最接近的是让ActionBean准备我的模型数据,并将其添加到HTTPSESSION中。向前雷置用于加载视图,并从会话中访问数据。
是否可以更好地支持条纹提供的前控制器,或者这与Spring MVC完全不同? (即,我必须使用EL从视图中调用方法来检索数据,就像某些示例一样)
谢谢!
解决方案
条纹中的典型MVC设计看起来像下面的代码。
JPA实体是由条纹拦截器自动加载的 脱衣舞者 (但这也可以轻松实施 独自一人 如果你希望)。因此,在此示例中,请求 http://your.app/show-order-12.html 将从数据库中加载带有ID 12的订单,并将其在页面上显示。
控制器(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”);
}
}
查看(order.jsp):
<html><body>
Order id: ${actionBean.order.id}<br/>
Order name: ${actionBean.order.name)<br/>
Order total: ${actionBean.order.total)<br/>
</body></html>
模型(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;
}
}
顺便说一句,有一本非常出色的简短(!)在条纹上涵盖所有这些东西:
其他提示
好吧,我已经弄清楚了。添加到HttpservletRequest的属性(从上下文中检索)可在接收到expertredirect的页面中获得
ie context.getRequest()。setAttribute(“ attr1”,“请求属性1”);返回新的forwardresolution(“/web-inf/pages/hello.jsp”);
在Hello.jsp $ {attr1}中可用...是的!
NopCommerce 3.20(MVC)有一个不错的解决方案。这是支付,授权,授权/捕获,退款和部分退款的付款插件。包括PCI合规性,不存储CC信息在DB上http://shop.wama-net.com/en/stripe-payment-plugin-for-nopcommerce
杰基