第一次发博客,记录一下在做java项目中遇到的问题,以及解决的方式。
我这个项目时用springmvc做的,基本功能都是用框架写好,但是我做了一个form表单,用来修改,更新数据。
在controller层中:
@RequestMapping(value = "/update")
public String update(MineInformation mineinformation,HttpServletRequest request,HttpServletResponse response) {
try {
String administrativeSubordination = mineinformation.getAdministrativeSubordination();//从前台中取到相应String类型数据
String enterpriseMembership = mineinformation.getEnterpriseMembership();
String mineHoldings = mineinformation.getMineHoldings();
String mineName = mineinformation.getMineName();
// double serviceLife = mineinformation.getServiceLife();
administrativeSubordination = new String(administrativeSubordination.getBytes("iso-8859-1"),"utf-8");//将String类型数据进行转码
enterpriseMembership = new String(enterpriseMembership.getBytes("iso-8859-1"),"utf-8");
mineHoldings = new String(mineHoldings.getBytes("iso-8859-1"),"utf-8");
mineName = new String(mineName.getBytes("iso-8859-1"),"utf-8");
mineinformation.setMineName(mineName);
mineinformation.setEnterpriseMembership(enterpriseMembership);
mineinformation.setMineHoldings(mineHoldings);
mineinformation.setMineName(mineName);
mineinformation.setAdministrativeSubordination(administrativeSubordination);
int Id = 0;
results = mineinformationService.findAll();
System.out.println("查到得列表" + results);
System.out.println("查到得results中的矿名" + results.get(0).getMineName());
System.out.println("获取数据中的矿名"+mineinformation.getMineName());
if(results != null) { ///如果插入的数据中的矿名没有在数据库中,则更新该矿的数据
for(int i =0;i<results.size();i++) {
if(mineinformation.getMineName().equals(results.get(i).getMineName())) {
Id = results.get(i).getId();
System.out.println(Id);
}else {
System.out.println(i);
}
}
}
if(Id==0) {//如果插入的数据中的矿名没有在数据库中,则增加数据。
Id = results.size() + 1;
}
mineinformation.setId(Id);//前台传入后台是没有id值,这里赋值
System.out.println("id赋值后的数据" + mineinformation);
mineinformationService.merge(mineinformation);//将查询的数据合并更新
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "/ownedcoalmine";
}
代码很冗余,见谅。
在jsp页面中的路径问题:return到前台页面时,一直报404错误,找不到前台页面,后来将form表单中的action的路径改了:
<form id="update" method="POST"
action="../mine/update">
</form>
才能正确显示页面,但是随之而来的时jsp页面中css文件找不到,404错误,无法加载页面,更改建议:
<link rel="stylesheet" href="${pageContext.request.contextPath }/view/assets/css/font-awesome.min.css" />
<link rel="stylesheet" href="${pageContext.request.contextPath }/view/assets/css/jquery-ui-1.10.3.full.min.css" />
原先的css样式路径为:
<link rel="stylesheet" href="assets/css/font-awesome.min.css" />
<link rel="stylesheet" href="assets/css/jquery-ui-1.10.3.full.min.css" />
虽然"${pageContext.request.contextPath }获取到了项目名,但是从前台页面,右键检查,在network下ctrl+r键显示request的url中没有view这一层,所以才报404错误。
第一次做项目,经历了一个错误要搞好几天的尴尬境地,记录下。