程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> SSH框架網上商城項目第14戰之商城首頁UI的設計

SSH框架網上商城項目第14戰之商城首頁UI的設計

編輯:關於JAVA

SSH框架網上商城項目第14戰之商城首頁UI的設計。本站提示廣大學習愛好者:(SSH框架網上商城項目第14戰之商城首頁UI的設計)文章只能為提供參考,不一定能成為您想要的結果。以下是SSH框架網上商城項目第14戰之商城首頁UI的設計正文


後面我們應用EasyUI和SSH搭建好了後台的根本框架,做好了後台的根本功效,包含對商品種別的治理和商品的治理等,這一節我們開端搭建前台頁面。
做首頁的思緒:假定如今商品的營業邏輯都有了,起首我們須要創立一個監聽器,在項目啟動時將首頁的數據查詢出來放到application裡,即在監聽器裡挪用後台商品營業邏輯的辦法。

1.  首頁商品顯示邏輯
在首頁,我們只顯示商品熱門種別中的前幾個商品,好比熱門種別有兒童休閒類,女性休閒類,男性休閒類,那我們會有三個板塊來顯示分歧的商品類,每一個種別裡再顯示幾個詳細的商品。假如要完成如許的首頁的話,我們須要將哪些數據查詢出來呢?起首確定是熱門種別,即在數據庫中查詢種別是熱門的項,然後再從數據庫中依據熱門種別級聯查詢該種別的商品,如許我們所要的數據就都有了。上面我們先在後台完成這些查詢營業:

//CategoryService接口 
public interface CategoryService extends BaseService<Category> { 
 //省略其他辦法…… 
 //依據boelen值查詢熱門或非熱門種別 
 public List<Category> queryByHot(boolean hot); 
} 
 
@SuppressWarnings("unchecked") 
@Service("categoryService") 
public class CategoryServiceImpl extends BaseServiceImpl<Category> implements CategoryService { 
 
 //省略其他辦法…… 
 
 @Override 
 public List<Category> queryByHot(boolean hot) { 
  String hql = "from Category c where c.hot=:hot"; 
  return getSession().createQuery(hql) 
   .setBoolean("hot", hot) 
   .list(); 
 } 
} 
//ProductService接口 
public interface ProductService extends BaseService<Product> { 
  
 //省略其他辦法…… 
 //依據熱門種別查詢推舉商品(僅僅查詢前4個) 
 public List<Product> querByCategoryId(int cid); 
} 
 
@SuppressWarnings("unchecked") 
@Service("productService") 
public class ProductServiceImpl extends BaseServiceImpl<Product> implements ProductService { 
 
 //省略其他辦法…… 
 
 @Override 
 public List<Product> querByCategoryId(int cid) { 
  String hql = "from Product p join fetch p.category " 
    + "where p.commend=true and p.open=true and p.category.id=:cid order by p.date desc"; 
  return getSession().createQuery(hql) 
   .setInteger("cid", cid) 
   .setFirstResult(0) 
   .setMaxResults(4) 
   .list(); 
 } 
 
} 

2. 創立InitDataListener獲得首頁數據
後台完成了商品的顯示邏輯營業,上面我們開端獲得所須要的數據了。起首創立一個監聽器InitDataListener繼續ServletContextListener,關於監聽器若何獲得Spring設置裝備擺設文件,請參考這篇博文:監聽器若何獲得Spring設置裝備擺設文件

//@Component //監聽器是web層的組件,它是tomcat實例化的,不是Spring實例化的。不克不及放到Spring中 
public class InitDataListener implements ServletContextListener { 
  
 private ProductService productService = null; 
 private CategoryService categoryService = null; 
 private ApplicationContext context = null; 
  
 @Override 
 public void contextDestroyed(ServletContextEvent event) { 
  // TODO Auto-generated method stub 
 
 } 
 
 @Override 
 public void contextInitialized(ServletContextEvent event) { 
 
  context = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());   
  categoryService = (CategoryService) context.getBean("categoryService");//加載種別信息   
  productService = (ProductService) context.getBean("productService");//加載商品信息 
 
  List<List<Product>> bigList = new ArrayList<List<Product>>(); //bigList中寄存一個裝有Category類的list 
  // 1. 查詢出熱門種別 
  for(Category category : categoryService.queryByHot(true)) { 
   //依據熱門種別id獲得推舉商品信息 
   List<Product> lst = productService.querByCategoryId(category.getId()); 
   bigList.add(lst); //將裝有category的list放到bigList中 
  } 
  // 2. 把查詢的bigList交給application內置對象 
  event.getServletContext().setAttribute("bigList", bigList); 
 } 
 
} 


 好了,如今數據全都放到bigList這個聚集中了。

3.首頁UI頁面設計

UI首頁我們會從美工那拿到模板,這個模板是html,我們要做的就是將其改成我們的jsp,然後將bigList聚集中的數據顯示在首頁上。起首我們將模板所須要的圖片和css拷貝到WebRoot目次下,然後在WebRoot/public/head.jspf中將這兩個文件引入便可,由於head.jspf是其他頁面都要包括出去的公共頭:


然後將模板中的html嵌到前台首頁index.jsp中去,應用jstl標簽修正一下顯示內容,以下所示(只截圖顯示商品那一部門):


如今我們進入之前做好的後台添加商品頁面,在女性休閒類添加幾個商品,然後啟動tomcat,運轉一下首頁index.jsp,後果以下:

 好了,前台的UI界面算是搭好了,接上去就是完成一些分歧的營業了。

原文地址:http://blog.csdn.net/eson_15/article/details/51373403

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved