关于Spring MVC中 model.addAttribute()和request.setAttribute()的区别的问题

本文通过一个具体的案例展示了如何在Spring MVC中使用HttpServletRequest传递参数,并对比了使用Model进行参数传递的方法。通过前后端交互的输出结果,揭示了两种方式的不同表现。

这是用HttpServletRequest传递参数的Controller代码

@RequestMapping(value="/findalltradingrecord")
	public String findWorklogByUserId(PageUtil<TradingRecord> pageUtil,HttpServletRequest request){
		
		
		if (pageUtil==null||pageUtil.getCurrentPage()==0){ 
			pageUtil=new PageUtil<TradingRecord>(1, 20);
			pageUtil.setT(new TradingRecord());
		}
		try {
			tradingRecordService.findTradingRecordByPage(pageUtil);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		System.out.println("pageUtil========"+pageUtil.toString());
		request.setAttribute("pageUtil", pageUtil);
		System.out.println("request中取出的========"+((PageUtil)request.getAttribute("pageUtil")).toString());
		return "tradingrecord/trading_record";
	}

这是控制台的输出信息不为空

pageUtil========PageUtil [currentPage=1, pageSize=20, totalCounts=4, totalPages=1, list=[TradingRecord [tradingRecordId=3, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:43 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@2fc16a1f, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0], TradingRecord [tradingRecordId=4, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:43 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@2b7f7989, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0], TradingRecord [tradingRecordId=2, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:42 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@1f7b7380, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0], TradingRecord [tradingRecordId=1, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:37 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@4974f9a1, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0]], t=TradingRecord [tradingRecordId=null, tradingRecordName=null, tradingRecordTime=null, tradingRecordPayee=null, tradingRecordPayer=null, tradingRecordAmount=null, tradingRecordCreateTime=null, tradingRecordCreateBy=null, tradingRecordUpdateTime=null, tradingRecordUpdateBy=null, tradingRecordDetail=null, tradingRecordDeleteFlag=null]]
request中取出的========PageUtil [currentPage=1, pageSize=20, totalCounts=4, totalPages=1, list=[TradingRecord [tradingRecordId=3, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:43 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@2fc16a1f, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0], TradingRecord [tradingRecordId=4, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:43 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@2b7f7989, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0], TradingRecord [tradingRecordId=2, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:42 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@1f7b7380, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0], TradingRecord [tradingRecordId=1, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:37 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordPayer=Student [stuId=10, stuName=zhanghaofeng, stuSex=男, stuAge=null, stuPosition=20180426, degree=18403, stuMajor=的说法, idCard=, companyPhone=, stuPhone=, fax=, qqEmail=, email=, address=, examAddress=啊撒地方, examType=201825, examTime=Wed Jul 18 00:00:00 CST 2018, stuAppraiser=33, stuApprover=33, appraiserId=null, approverId=cepo.resource.pool.birdlib.tradingrecord.bean.Approver@4974f9a1, examTypeId=null, positionId=null, degreeId=null, companyId=null, postCode=, start=null, size=null, firstCardDate=null, electronicAudit=合格, paperReview=合格, payee=, aggregateAmount=null, receivableAmount=null, receivableDate=null, payer=, invoiceDate=null, invoiceCard=, invoiceContent=, invoiceType=测评专票, invoicePostdate=Tue Jul 03 00:00:00 CST 2018, invoicePostnumber=, invoiceSign=否, pinyin=123456,,, registrationType=, certificateNumber=, maintainPeriod=, maintainTimes=, maintainBatch=, newMaintainPeriod=, newCertificatePostdate=Tue Jul 17 00:00:00 CST 2018, newCertificatePostnumber=, certificateSign=是, note=, specialcase=, maintainDate=null], tradingRecordAmount=3333.0, tradingRecordCreateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordCreateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordUpdateTime=Wed Sep 05 00:00:00 CST 2018, tradingRecordUpdateBy=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, password=928bfd2577490322a6e19b793691467e], tradingRecordDetail=aaaaaaaaaaaaaaaaaaaaaaaa, tradingRecordDeleteFlag=0]], t=TradingRecord [tradingRecordId=null, tradingRecordName=null, tradingRecordTime=null, tradingRecordPayee=null, tradingRecordPayer=null, tradingRecordAmount=null, tradingRecordCreateTime=null, tradingRecordCreateBy=null, tradingRecordUpdateTime=null, tradingRecordUpdateBy=null, tradingRecordDetail=null, tradingRecordDeleteFlag=null]]

这是前端js代码 

function test(){
	var test="<c:out value='${pageUtil}'/>";
	var testPage="<c:out value='${pageScope.pageUtil}'/>";
	var testRequest="<c:out value='${reqeustScope.pageUtil}'/>";
	var testSession="<c:out value='${sessionScope.pageUtil}'/>";
	var testApplication="<c:out value='${applicationScope.pageUtil}'/>";
	
	console.log(test);
	console.log(testPage);
	console.log(testRequest);
	console.log(testSession);
	console.log(testApplication);
	
}

前端输出结果为

PageUtil [currentPage=0, pageSize=0, totalCounts=0, totalPages=0, list=null, t=null]




现在换成用Model传值

这是Model传值的Controller代码

@RequestMapping(value="/findalltradingrecord")
	public String findWorklogByUserId(PageUtil<TradingRecord> pageUtil,Model model){
		
		
		if (pageUtil==null||pageUtil.getCurrentPage()==0){ 
			pageUtil=new PageUtil<TradingRecord>(1, 20);
			pageUtil.setT(new TradingRecord());
		}
		try {
			tradingRecordService.findTradingRecordByPage(pageUtil);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		System.out.println("pageUtil========"+pageUtil.toString());
		model.addAttribute("pageUtil", pageUtil);
		return "tradingrecord/trading_record";
	}

其它的无变动

这是重启服务器后前端输出的数据

PageUtil [currentPage=1, pageSize=20, totalCounts=4, totalPages=1, list=[TradingRecord [tradingRecordId=3, tradingRecordName=交易记录测试1, tradingRecordTime=Wed Sep 05 09:26:43 CST 2018, tradingRecordPayee=User [userid=20180425, userUUID=A722BDFE-74D1-4842-BF3B-BDE078CBCDA8, username=admin, deptid=null, phone1=null, phone2=null, email=null, userIcon=null, 。。。。。。之后省略

原因暂时不明,记录下待解决

package com.aaa.controller; import com.aaa.Pojo.Login; import com.aaa.Pojo.Movie; import com.aaa.Pojo.User; import com.aaa.dao.UserDao; import com.aaa.service.LoginService; import com.aaa.until.LayuiResult; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.view.RedirectView; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import java.util.List; import java.util.Map; @Controller @RequestMapping("login") public class LoginController { @Resource LoginService loginService; //后台的登录 @RequestMapping("/login") public String login(){ return "Login"; } //后台的注册 @PostMapping("register") public String register(@RequestParam String userName,@RequestParam String passWord, @RequestParam String confirmPassword, Model model) { if (userName == null || userName.trim().isEmpty()) { model.addAttribute("error", "用户名不能为空"); return "register"; } if (!passWord.equals(confirmPassword)) { model.addAttribute("error", "两次输入的密码不一致"); return "register"; } // 调用服务层保存用户信息到数据库 boolean success = loginService.insert(userName, passWord); if (success) { return "redirect:/module/Login.jsp"; // 注册成功跳转登录页 } else { model.addAttribute("error", "注册失败,请稍后再试"); return "module/register"; } } @RequestMapping("/user") public String loginyan(User user , HttpSession session){ List<User> users = loginService.selectAllUser(user); if(users.size()>0){ List<Map> maps = loginService.selectFunction(user.getUserName(), 0); // 放 session session.setAttribute("funs",maps); return "Main"; }else { return "Login"; } } @RequestMapping("/userUi") public String loginUI(){ return "UserUi"; } // 客户端订单 @RequestMapping("/selectById") @ResponseBody public List<Login> selectById(int id) { //查询 List<Login> list = loginService.selectById(id); return list; } //客户端登录 @RequestMapping("/loginUi") public RedirectView login(Login login) { //查询 List<Login> list = loginService.login(login); //判断如果查询的结果大于0,登陆成功 if (list.size() > 0) { return new RedirectView("/module/movieList.jsp?id="+list.get(0).getId()); }else { return new RedirectView("/module/UserUi.jsp"); } } //客户端注册 @RequestMapping("/registe") public String registe(@Param("phone")String phone,@Param("passWord") String passWord, Model model) { if (phone == null || phone.trim().isEmpty()) { model.addAttribute("error", "手机号不能为空"); return "UserUiD"; // 返回注册页面视图名 } if (!passWord.equals(passWord)) { model.addAttribute("error", ""); return "UserUiD"; } boolean success = loginService.inset(phone, passWord); if (success) { return "UserUi"; // 注册成功跳转登录页 } else { model.addAttribute("error", "注册失败,请稍后再试"); return "UserUiD"; } } //后台账号管理 //查询 @RequestMapping("/all") @ResponseBody public LayuiResult selectAllMovice(Integer page, Integer limit, String name){ return loginService.selectAll(page, limit, name); } //新增保存 修改 @RequestMapping("/SaveMovie") @ResponseBody public int saveMovice(User user){ Integer id = user.getId(); int i=0; if(id!=null){ i= loginService.updateuser(user); }else{ i = loginService.inseruser(user); } return i; } //删除用户 @RequestMapping("/deleteUser") @ResponseBody public int deleteUser(@RequestParam("id") Integer id) { return loginService.deleteUser(id); } //数据的回显 @GetMapping("/selectBd") @ResponseBody public List<User> selectById(@RequestParam("id") Integer id) { return loginService.selectBd(id); } }
最新发布
07-03
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值