对页面订单号输入框,添加 onblur 离焦事件,采用Ajax向后台
$(function(){
$("#orderNum").blur(function() {
$.post("../../order_findByOrderNum.action",
{orderNum: $(this).val()}, function(data){
if(data.success) {
$("#waybillForm").form('load',data.orderData);
$("input[name='order.id']").val(data.orderData.id);
$("input[name='order.orderNum']").val(data.orderData.orderNum);
$("input[name='order.courier.company']").val(data.orderData.courier.company);
$("input[name='order.courier.name']").val(data.orderData.courier.name);
} else {
$("#waybillForm").get(0).reset();
}
});
});
});
在 OrderAction 添加 findByOrderNum 方法
@ParentPackage("json-default")
@Scope("prototype")
@Namespace("/")
@Controller
public class OrderAction extends BaseAction<Order> {
@Autowired
private OrderService orderService;
@Action(value = "order_findByOrderNum", results = { @Result(name = "success", type = "json")})
public String findByOrderNum() {
Order order = orderService.findByOrderNum(model.getOrderNum());
Map<String, Object> result = new HashMap<String, Object>();
if (order == null) {
result.put("success", false);
} else {
result.put("success", true);
result.put("orderData", order);
}
ActionContext.getContext().getValueStack().push(result);
return SUCCESS;
}
}
编写业务层
public interface OrderService {
@Path("/order")
@POST
@Consumes({ "application/xml", "application/json" })
public void saveOrder(Order order);
public Order findByOrderNum(String orderNum);
}
编写dao层
public interface OrderRepository extends JpaRepository<Order, Integer> {
Order findByOrderNum(String orderNum);
}
对多集合数据懒加载问题,排除掉关联集合数据转换 json
修改了domain需要install
@JSON(serialize=false)
public Set<WorkBill> getWorkBills() {
return workBills;
}