Вопрос
Я испытываю с Spring MVC и пробую полосы, чтобы решить, пробовать ли это для нового проекта.
В Spring MVC я бы подготовим модель данных и пропустите его к представлению, добавив его на карту в экземпляре ModelandView, созданный моим контроллером. У меня проблемы с поиском эквивалента этого для полос.
Похоже, что ближайшая параллель - это подготовить действие Beachbean Data и добавить ее в HTTPSESE. Переместитель используется для загрузки вида, а данные доступны с сеанса.
Есть ли лучшая поддержка переднего контроллера, предоставляемых полосами, или это совершенно другой принцип дизайна, чем весна MVC? (т.е. я должен вызывать методы с вида с использованием EL для извлечения данных, как и некоторые из примеров)
Спасибо!
Решение
Типичный дизайн MVC в полосках будет выглядеть как что-то вроде кода ниже.
Сущность JPA является автоматическим, загруженным перехватчиком полос, предоставляемых Стриптист (Но это также может легко реализовать самостоятельно Если вы хотите). Таким образом, в этом примере, просят http://your.app/show-order-12.html. загрузит заказ с ID 12 из базы данных и покажет его на странице.
Контроллер (USTACTION.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 (outdow.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 (извлечено из контекста), доступны на странице, получающей переведен
Т.е. context.getrequest (). SetaTtribute ("attr1", «атрибут запроса 1»); Вернуть новую FlowResolution (»/ Web-Inf / Pages / Hello.jsp");
В Hello.jsp $ {attr1} доступен ... yay!
Есть на одном хорошем решении для NOPCommerce 3.20 (MVC). Это плагин, поддерживающий, авторизую, авторизую / захват, возврат и частично возврат. Соблюдение PCI включена, информация CC не сохраняется на БДhttp://shop.wama-net.com/en/stripe-payment-plugin-for-nopcommerce.
Оздоровительный