Stripes 中的典型 MVC 设计类似于下面的代码。
JPA 实体由Stripersist提供的 Stripes 拦截器自动加载(但如果您愿意,也可以轻松地自行实现)。因此,在本例中,请求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;
}
}
顺便说一句,有一本非常棒的关于 Stripes 的短(!)书,涵盖了所有这些内容:
Stripes:……Java Web 开发再次变得有趣