当前位置:网站首页>Simple case of SSM framework
Simple case of SSM framework
2022-07-07 05:34:00 【_ Xiao Xu_】
By the end ssm A simple case is made after the framework , Realize simple addition, deletion, modification and search .
Project structure chart :



See project structure :
Key code :
The front is jsp technology , You can also use it vue Separate your choice .
Order page :
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page isELIgnored="false" %>
<%@include file="./common/head.jsp"%>
<div class="right">
<div class="location">
<strong> Your current position is :</strong>
<span> Order management page </span>
</div>
<div class="search">
<form method="get" action="${pageContext.request.contextPath }/jsp/bill.do">
<input name="method" value="query" class="input-text" type="hidden">
<span> Name of commodity :</span>
<input name="queryProductName" type="text" value="${queryProductName }">
<span> supplier :</span>
<select name="queryProviderId">
<c:if test="${providerList != null }">
<option value="0">-- Please select --</option>
<c:forEach var="provider" items="${providerList}">
<option value="${provider}">${
provider}</option>
</c:forEach>
</c:if>
</select>
<span> Whether to pay :</span>
<select name="queryIsPayment">
<option value="0">-- Please select --</option>
<option value="1" ${
queryIsPayment == 1 ? "selected=\"selected\"":"" }> Unpaid </option>
<option value="2" ${
queryIsPayment == 2 ? "selected=\"selected\"":"" }> Paid </option>
</select>
<input value=" check Inquiry " type="submit" id="searchbutton">
<a href="${pageContext.request.contextPath }/billadd"> Add order </a>
</form>
</div>
<!-- Billing form Styles are common to suppliers -->
<table class="providerTable" cellpadding="0" cellspacing="0">
<tr class="firstTr">
<th width="10%"> Order number </th>
<th width="20%"> Name of commodity </th>
<th width="10%"> supplier </th>
<th width="10%"> Order amount </th>
<th width="10%"> Whether to pay </th>
<th width="10%"> Creation time </th>
<th width="30%"> operation </th>
</tr>
<c:forEach var="bill" items="${billList }" varStatus="status">
<tr>
<td>
<span>${
bill.billCode }</span>
</td>
<td>
<span>${
bill.productName }</span>
</td>
<td>
<span>${
bill.providerId}</span>
</td>
<td>
<span>${
bill.totalPrice}</span>
</td>
<td>
<span>
<c:if test="${bill.isPayment == 1}"> Unpaid </c:if>
<c:if test="${bill.isPayment == 2}"> Paid </c:if>
</span>
</td>
<td>
<span>
${
bill.creationDate}
</span>
</td>
<td>
<span><a class="viewBill" href="${pageContext.request.contextPath }/billview?code=${bill.billCode}" billid=${
bill.id } billcc=${
bill.billCode }><img src="${pageContext.request.contextPath }/images/read.png" alt=" see " title=" see "/></a></span>
<span><a class="modifyBill" href="${pageContext.request.contextPath }/billmodify?code=${bill.billCode}" billid=${
bill.id } billcc=${
bill.billCode }><img src="${pageContext.request.contextPath }/images/xiugai.png" alt=" modify " title=" modify "/></a></span>
<span><a class="deleteBill" href="javascript:deleteBill();" billid=${
bill.id } billcc=${
bill.billCode }><img src="${pageContext.request.contextPath }/images/schu.png" alt=" Delete " title=" Delete "/></a></span>
</td>
</tr>
</c:forEach>
</table>
</div>
</section>
<!-- Click the delete button to pop up the page -->
<div class="zhezhao"></div>
<div class="remove" id="removeBi">
<div class="removerChid">
<h2> Tips </h2>
<div class="removeMain">
<p> Are you sure you want to delete this order ?</p>
<a href="#" id="yes"> determine </a>
<a href="#" id="no"> Cancel </a>
</div>
</div>
</div>
<%@include file="./common/foot.jsp" %>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/billlist.js"></script>
The interface is not as good-looking as the one above , The framework downloads itself .
Supplier page :
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page isELIgnored="false" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@include file="./common/head.jsp"%>
<div class="right">
<div class="location">
<strong> Your current position is :</strong>
<span> Supplier management page </span>
</div>
<div class="search">
<form method="get" action="${pageContext.request.contextPath }/provider.select">
<input name="method" value="query" type="hidden">
<span> Supplier code :</span>
<input name="queryProCode" type="text" value="${queryProCode }">
<span> Name of supplier :</span>
<input name="queryProName" type="text" value="${queryProName }">
<input value=" check Inquiry " type="submit" id="searchbutton">
<a href="${pageContext.request.contextPath }/jsp/provideradd.jsp"> Add supplier </a>
</form>
</div>
<!-- Supplier operation form -->
<table class="providerTable" cellpadding="0" cellspacing="0">
<tr class="firstTr">
<th width="10%"> Supplier code </th>
<th width="20%"> Name of supplier </th>
<th width="10%"> Contacts </th>
<th width="10%"> contact number </th>
<th width="10%"> Fax </th>
<th width="10%"> Creation time </th>
<th width="30%"> operation </th>
</tr>
<c:forEach var="provider" items="${providerList }" varStatus="status">
<tr>
<td>
<span>${provider.proCode }</span>
</td>
<td>
<span>${provider.proName }</span>
</td>
<td>
<span>${provider.proContact}</span>
</td>
<td>
<span>${provider.proPhone}</span>
</td>
<td>
<span>${provider.proFax}</span>
</td>
<td>
<span>
${provider.creationDate}
</span>
</td>
<td>
<span><a class="viewProvider" href="${pageContext.request.contextPath }/providerview?code=${provider.proCode}" proid=${provider.id } proname=${provider.proName }><img src="${pageContext.request.contextPath }/images/read.png" alt=" see " title=" see "/></a></span>
<span><a class="modifyProvider" href="${pageContext.request.contextPath }/provideralter?code=${provider.proCode}" proid=${provider.id } proname=${provider.proName }><img src="${pageContext.request.contextPath }/images/xiugai.png" alt=" modify " title=" modify "/></a></span>
<span><a class="deleteProvider" href="javascript:;" proid=${provider.id } proname=${provider.proName }><img src="${pageContext.request.contextPath }/images/schu.png" alt=" Delete " title=" Delete "/></a></span>
</td>
</tr>
</c:forEach>
</table>
</div>
</section>
<!-- Click the delete button to pop up the page -->
<div class="zhezhao"></div>
<div class="remove" id="removeProv">
<div class="removerChid">
<h2> Tips </h2>
<div class="removeMain" >
<p> Are you sure you want to delete this supplier ?</p>
<a href="#" id="yes"> determine </a>
<a href="#" id="no"> Cancel </a>
</div>
</div>
</div>
<%@include file="./common/foot.jsp" %>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/providerlist.js"></script>
It is mainly the interaction part of the front and back end , All controllers are controlled by spring Container control , Pay attention to releasing static resources .
Order background :
package cms.ssm.controller;
import cms.ssm.dao.BillMapper;
import cms.ssm.dao.ProviderMapper;
import cms.ssm.model.Bill;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@Controller
public class BillController {
@Resource
private BillMapper billMapper;
@Resource
private ProviderMapper providerMapper;
@GetMapping("/bill")
public String showBill(Model model){
List<Bill> bills = billMapper.selectAll();
List<String> list = providerMapper.selectProviderNames();
model.addAttribute("billList",bills);
model.addAttribute("providerList",list);
return "/jsp/billlist.jsp";
}
@GetMapping("/billview")
public String showOne(@RequestParam("code") String code,Model model){
Bill bill = billMapper.selectByCode(code);
model.addAttribute("bill",bill);
return "/jsp/billview.jsp";
}
@GetMapping("/billmodify")
public String alterBill(@RequestParam("code") String code,Model model){
Bill bill = billMapper.selectByCode(code);
List<String> list = providerMapper.selectProviderNames();
model.addAttribute("bill",bill);
model.addAttribute("provider",list);
return "/jsp/billmodify.jsp";
}
@GetMapping(value = "/jsp/bill.do")
public String select_more(@RequestParam("method") String method,@RequestParam("queryProductName") String queryProductName,@RequestParam("queryIsPayment") int queryIsPayment,Model model){
List<Bill> billList = billMapper.selectMore("%"+queryProductName+"%", queryIsPayment);
model.addAttribute("billList",billList);
return "/jsp/billlist.jsp";
}
@GetMapping(value = "/billadd")
public String billAdd(Model model){
List<String> list = providerMapper.selectProviderNames();
model.addAttribute("list",list);
return "/jsp/billadd.jsp";
}
@RequestMapping(value = "/billadd.do", method = RequestMethod.GET)
public void billAddColumn(@RequestParam("billCode") String billCode, @RequestParam("productName") String productName, @RequestParam("productCount") Double productCount,@RequestParam("productUnit") String productUnit,@RequestParam("providerId") int providerId){
Bill bill =new Bill();
bill.setBillCode(billCode);
bill.setProductName(productName);
bill.setProductCount(productCount);
bill.setProductUnit(productUnit);
bill.setProviderId(providerId);
billMapper.insertOneBill(bill);
}
}
Supplier background :
package cms.ssm.controller;
import cms.ssm.dao.ProviderMapper;
import cms.ssm.dao.UserMapper;
import cms.ssm.model.Provider;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.util.List;
@Controller
public class ProviderController {
@Resource
private ProviderMapper providerMapper;
// @Resource
// private UserMapper userMapper;
@GetMapping(value = "/provider")
public String showProviders(Model model){
List<Provider> list= providerMapper.selectAll();
//List<String> roles= userMapper.select_all_role();
model.addAttribute("providerList",list);
return "jsp/providerlist.jsp";
}
@GetMapping(value = "/providerview")
public String providerView(@RequestParam("code") String code,Model model){
Provider provider= providerMapper.selectById(code);
model.addAttribute("provider",provider);
return "/jsp/providerview.jsp";
}
@GetMapping(value = "/provideralter")
public String providerAlter(@RequestParam("code") String code,Model model){
Provider provider= providerMapper.selectById(code);
model.addAttribute("provider",provider);
return "/jsp/providermodify.jsp";
}
@GetMapping(value = "/provider.select")
public String providerSelect(Model model,@RequestParam("queryProCode") String queryProCode,@RequestParam("queryProName") String queryProName){
List<Provider> list = providerMapper.selectMore("%"+queryProCode+"%", "%"+queryProName+"%");
model.addAttribute("providerList",list);
return "/jsp/providerlist.jsp";
}
@GetMapping(value = "/provideradd.do")
public String providerAdd(@RequestParam("proCode") String proCode,@RequestParam("proName") String proName,@RequestParam("proContact") String proContact,@RequestParam("proPhone") String proPhone,@RequestParam("proAddress") String proAddress,@RequestParam("proFax") String proFax,@RequestParam("proDesc") String proDesc){
Provider provider = new Provider();
provider.setProCode(proCode);
provider.setProName(proName);
provider.setProContact(proContact);
provider.setProPhone(proPhone);
provider.setProAddress(proAddress);
provider.setProFax(proFax);
provider.setProDesc(proDesc);
providerMapper.insertOne(provider);
return "/jsp/provideradd.jsp";
}
@GetMapping(value = "/provider.oparater")
@ResponseBody
public String providerOparater(@RequestParam("proid") int id){
providerMapper.delById(id);
String delResult = "true";
return delResult;
}
}
Only some codes are referenced
边栏推荐
- 论文阅读【Sensor-Augmented Egocentric-Video Captioning with Dynamic Modal Attention】
- 淘宝商品详情页API接口、淘宝商品列表API接口,淘宝商品销量API接口,淘宝APP详情API接口,淘宝详情API接口
- Dj-zbs2 leakage relay
- Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
- 消息队列:重复消息如何处理?
- Life experience of an update statement
- DJ-ZBS2漏电继电器
- 论文阅读【MM21 Pre-training for Video Understanding Challenge:Video Captioning with Pretraining Techniqu】
- JVM (XX) -- performance monitoring and tuning (I) -- Overview
- Mapbox Chinese map address
猜你喜欢
随机推荐
High voltage leakage relay bld-20
实现网页内容可编辑
分布式全局ID生成方案
How digitalization affects workflow automation
淘寶商品詳情頁API接口、淘寶商品列錶API接口,淘寶商品銷量API接口,淘寶APP詳情API接口,淘寶詳情API接口
高压漏电继电器BLD-20
京东商品详情页API接口、京东商品销量API接口、京东商品列表API接口、京东APP详情API接口、京东详情API接口,京东SKU信息接口
Mapbox Chinese map address
Common skills and understanding of SQL optimization
K6el-100 leakage relay
Cve-2021-3156 vulnerability recurrence notes
Paper reading [semantic tag enlarged xlnv model for video captioning]
JHOK-ZBL1漏电继电器
Leetcode 1189 maximum number of "balloons" [map] the leetcode road of heroding
拼多多商品详情接口、拼多多商品基本信息、拼多多商品属性接口
CentOS 7.9 installing Oracle 21C Adventures
How can professional people find background music materials when doing we media video clips?
Mysql database learning (8) -- MySQL content supplement
Educational Codeforces Round 22 B. The Golden Age
【oracle】简单的日期时间的格式化与排序问题








![[JS component] date display.](/img/26/9bfc752c8c9a933a8e33b59e0488a2.jpg)