(参考图6)
SaveChangePlan.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<!--引用控制器类PlanManager-->
<jsp:useBean id = "planC" class="nsbd.plan.PlanManager"></jsp:useBean>
<body>
<%
String proname = new String(request.getParameter("pro").getBytes("ISO-8859-1"),"GBK");//获得条目的名称
String v = (String)request.getParameter("radiobutton");//获得选择调整对象
int iv = Integer.parseInt(v); //把选择调整对象转化为整型
String s1 = ""; //中间变量
String s2 = "";//中间变量
double All = 0;//第二段时间数(这里时月份数)
int stAllM = 0;//第一段时间数(这里时月份数)
int endAllM = 0;//第三段时间数(这里时月份数)
String dates = "";//开始时间
String datee = "";//结束时间
try{
dates = (String)request.getParameter("start");//获得开始时间
datee = (String)request.getParameter("ends");//获得结束时间
/**以下是实现分成3段的算法**/
//计算出开始时间的年和月份
String sY =dates.substring(0,4);
String sM =dates.substring(5,7);
int isY = Integer.parseInt(sY);
int isM = Integer.parseInt(sM);
//计算出结束时间的年和月份
String sY2 =datee.substring(0,4);
String sM2 =datee.substring(5,7);
int isY2 = Integer.parseInt(sY2);
int isM2 = Integer.parseInt(sM2);
//计算出第二段月份数
int Y = isY2 -isY-1;
int YM = Y*12;
int MM = 12-isM+1+isM2;
All = YM+MM;
//计算出第一段月份数
int stY = isY-2003;
stAllM = stY*12 +isM-1;
//计算出第三段月份数
int endY = 2011-isY2;
endAllM = endY *12 +12 -isM2;
/**实现分成3段的算法结束**/
}catch(Exception ex){
System.out.print(e.getMessage());
}
try{
//调用控制器的UpdatePlan方法,
//如果修改成功导航到jindubiao.jsp页面,也就是进入进度条的第一页
planC.UpdatePlan(iv,proname,stAllM+"",endAllM+"",All+"",dates+"",datee+"");
response.sendRedirect("./jindubiao.jsp");
}catch(Exception ex){
//调用控制器的UpdatePlan方法,如果修改不成功也是
//说明错误和等待导航到jindubiao.jsp页面,也就是进入进度条的第一页
out.print("保存错误,请联系系统管理员或是开发商");
out.print("<a href=../jindubiao.jsp>回到主页</a>");
}
%>
</body>
</html>
(表格1)