你可以传递你需要的参数;您的方法可以不带参数。你需要使用N个参数吗?
说明:
1.@RequestParam(value="orderId", required=false, defaultValue="-1") int orderId - 这将是您的 requestUrl 中的一个参数,例如:localhost:8080/deleteSomething?orderId=11
2.Model model - 此参数用于发送视图orderList,可以在jsp中作为${orderList}访问
如果从视图传递一些参数,你必须使用Map<String, Object> model,或者你需要在视图中传递参数,在你的情况下这是不必要的。
//Autoware your service upper
public String orderDelete(@RequestParam("orderId") int orderId) {
orderService.deleteOrder(orderId)
return "someform/orderMaster";
}
是的,首先从服务中删除您的值,然后再从 repo 中删除您的值是不正确的。查看如何实现您的 repo + 服务类。
回购:
//创建将存储所有操作的接口
@Repository
public class OrderRepository implements OrderDAO {
//you may init it there or create a bean and autoware your session
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sf) {
this.sessionFactory = sf;
}
@Override
public void addOrder(Order order) {
Session session = this.sessionFactory.getCurrentSession();
session.persist(order);
}
@Override
public void updateOrder(Order order) {
Session session = this.sessionFactory.getCurrentSession();
session.update(event);
}
@Override
public void deleteOrder(int id) {
Session session = this.sessionFactory.getCurrentSession();
Event e = (Event) session.load(Order.class, new Integer(id));
if (null != e) {
session.delete(e);
}
}
服务
@Service
public class EventService {
@Autowired
private OrderDAO orderDAO;
//init somewhere bean orderDAO
public void setOrderDAO(OrderDAO orderDAO) {
this.orderDAO = orderDAO;
}
@Transactional
public void addOrder(Order order) {
orderDAO.addOrder(order);
}
@Transactional
public void updateOrder(Order order) {
orderDAO.updateOrder(order);
}
@Transactional
public void deleteOrder(int id) {
orderDAO.deleteOrder(id);
}
}