gpt4 book ai didi

java - 条纹 MVC 模型数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:23 24 4
gpt4 key购买 nike

我对 Spring MVC 很有经验,正在试用 Stripes 以决定是否在新项目中试用它。

在 Spring MVC 中,我将准备模型数据并将其传递给 View ,方法是将其添加到由我的 Controller 创建的 ModelAndView 实例中的映射中。我无法找到 Stripes 的等效项。

看起来最接近的并行是让 ActionBean 准备我的模型数据并将其添加到 HttpSession。 ForwardRedirect 用于加载 View 并从 session 访问数据。

是否对 Stripes 提供的前端 Controller 有更好的支持,或者这是一个与 Spring MVC 完全不同的设计原则? (即我必须使用 EL 从 View 中调用方法来检索数据,就像某些示例所做的那样)

谢谢!

最佳答案

Stripes 中典型的 MVC 设计类似于下面的代码。

JPA 实体由 Stripersist 提供的 Stripes 拦截器自动加载(但如果你愿意,这也可以很容易地实现 on your own)。因此在这个例子中,请求 http://your.app/show-order-12.html将从数据库中加载 ID 为 12 的订单并将其显示在页面上。

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”);
}
}

View (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: ...and Java Web Development Is Fun Again

关于java - 条纹 MVC 模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com