📄 food_add.jsp
字号:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ page import="javax.servlet.ServletInputStream" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<jsp:include page="safe.jsp"/>
<html>
<head>
<title>订餐网</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../CSS/style.css" rel="stylesheet">
<script src="../JS/check.jsp"></script>
</head>
<script language="javascript">
function mycheck(){
if (form1.foodname.value==""){
alert("请输入餐品名称!");form1.foodname.focus();return;
}
if (form1.type.value==""){
alert("请输入餐厅名!");form1.type.focus();return;
}
if (form1.pDate.value==""){
alert("请输入日期!");form1.pDate.focus();return;
}
if (form1.price.value==""){
alert("请输入定价!");form1.price.focus();return;
}
if (isNaN(form1.price.value)){
alert("您输入的定价错误,请重新输入!");form1.price.value="";form1.price.focus();return;
}
form1.submit();
}
</script>
<body>
<%
request.setCharacterEncoding("GBK");
//掕?name,value?検丆埲媦暥審?巙埵
String name = null;
String value = null;
//ArrayList value = null;//峏夵懚?value揑?徾丅
boolean fileFlag = false;
// TMP_DIR
//String TMP_DIR = "F:\\";
String TMP_DIR = request.getRealPath("")+"\\manage\\cover\\";
// String path=request.getRealPath("");
out.println(TMP_DIR);
File tmpFile = null;
//file name
String fName = null;
FileOutputStream baos = null;
BufferedOutputStream bos = null;
//掕?懚曻嶲悢揑Hashtable丅
Hashtable paramHt = new Hashtable();
int BUFSIZE = 1024 * 8;
int rtnPos = 0;
byte[] buffs = new byte[ BUFSIZE * 8 ];
//庢摼?巒晞丅
String contentType = request.getContentType();
int index = contentType.indexOf( "boundary=" );
String boundary = "--" + contentType.substring( index + 9 );
String endBoundary = boundary + "--";
//庢摼棳丅
ServletInputStream sis = request.getInputStream();
//?庢1峴悢悩
while( (rtnPos = sis.readLine( buffs, 0, buffs.length )) != -1 ){
String strBuff = new String( buffs, 0, rtnPos );
//敾抐庢摼揑悢悩
//1. 擛壥惀?巒晞
if( strBuff.startsWith( boundary ) ){
//擛壥name懚嵼
if ( name != null && name.trim().length() > 0 ){
//擛壥暥審?巙埵?true
if (fileFlag ){
//?峴暥審懚?憖嶌丅
bos.flush();
baos.close();
bos.close();
baos = null;
bos = null;
}else{
//擛壥暥審?巙埵?flase
//?峴嶲悢?掕憖嶌丅
Object obj = paramHt.get(name);
ArrayList al = null;
if ( obj == null ){ al = new ArrayList();
}else{
al = (ArrayList)obj;
}
al.add(value);
paramHt.put(name, al);
}
}
//廳怴弶巒壔name,value埲媦暥審?巙埵
name = new String();
value = new String();
fileFlag = false;
//?庢1峴悢悩丅
rtnPos = sis.readLine( buffs, 0, buffs.length );
if (rtnPos != -1 ){
strBuff = new String( buffs, 0, rtnPos );
//擛壥帤晞拞曪娷"Content-Disposition: form-data;"丆?庢name
if (strBuff.toLowerCase().startsWith( "content-disposition: form-data; " )){
int nIndex = strBuff.toLowerCase().indexOf( "name=\"" );
int nLastIndex = strBuff.toLowerCase().indexOf( "\"", nIndex + 6 );
name = strBuff.substring( nIndex + 6, nLastIndex );
}
//擛壥帤晞拞曪娷"filename"丆?掕暥審?巙埵?true丆?庢暥審柤帤丅
int fIndex = strBuff.toLowerCase().indexOf( "filename=\"" );
if (fIndex != -1 ){
fileFlag = true;
int fLastIndex = strBuff.toLowerCase().indexOf( "\"", fIndex + 10 );
fName = strBuff.substring( fIndex + 10 , fLastIndex );
fIndex = fName.lastIndexOf( "\\" );
if( fIndex == -1 ){
fIndex = fName.lastIndexOf( "/" );
if( fIndex != -1 ){
fName = fName.substring( fIndex + 1 );
}
}else{
fName = fName.substring( fIndex + 1 );
}
if (fName == null || fName.trim().length() == 0){
fileFlag = false;
sis.readLine( buffs, 0, buffs.length );
sis.readLine( buffs, 0, buffs.length );
sis.readLine( buffs, 0, buffs.length );
continue;
}
}
sis.readLine( buffs, 0, buffs.length );
sis.readLine( buffs, 0, buffs.length );
}
//2. 擛壥惀?懇晞
}else if( strBuff.startsWith( endBoundary ) ){
//擛壥name懚嵼
if ( name != null && name.trim().length() > 0 ){
//擛壥暥審?巙埵?true
if (fileFlag ){
//?峴暥審懚?憖嶌丅
bos.flush();
baos.close();
bos.close();
baos = null;
bos = null;
}else{
//擛壥暥審?巙埵?flase
//?峴嶲悢?掕憖嶌丅
Object obj = paramHt.get(name);
ArrayList al = null;
if ( obj == null ){ al = new ArrayList();
}else{
al = (ArrayList)obj;
}
al.add(value);
paramHt.put(name, al);
}
}
//4. 擛壥晄惀1丆2揑忣檝丅
}else{
//value憡壛丅
if (fileFlag ){
if ( baos == null && bos == null ) {
tmpFile = new File( TMP_DIR + fName );
baos = new FileOutputStream( tmpFile );
bos = new BufferedOutputStream( baos );
}
bos.write( buffs, 0, rtnPos );
baos.flush();
}else{
value = value + strBuff;
}
}
}
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0" background="../Images/bg.gif">
<tr>
<td>
<table width="777" height="609" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td valign="top">
<jsp:include page="Top.jsp"/>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tableBorder_LTR">
<tr>
<td height="30" align="center" bgcolor="#eeeeee">≡≡≡ <a href="index.jsp">餐品信息管理</a> ≡≡≡</td>
</tr>
</table>
<table width="100%" height="396" border="0" cellpadding="0" cellspacing="0" class="tableBorder_LBR">
<tr>
<td width="26%" height="395" valign="top"><table width="100%" border="0" cellspacing="-2" cellpadding="-2">
<tr>
<td width="55%" height="82" align="center" class="word_grey"> <img src="../Images/reg.gif" width="84" height="54"></td>
<td width="45%" align="left" class="word_grey">添加餐品信息</td>
</tr>
<tr>
<td height="112" colspan="2" valign="top" class="word_grey"><ul>
<li>添加餐品信息:点击“添加餐品信息”超链接可以进行餐品信息的添加。</li>
<li>修改餐品信息:点击每条餐品信息后面的“修改”按钮可以修改餐品信息。</li>
<li>删除餐品信息:点击每条餐品信息后面的“删除”按钮可以删除餐品信息。</li>
<li>推荐餐品:如果想推荐餐品,可以点击指定餐品后的“修改”按钮。</li>
</ul></td>
</tr>
<tr align="center">
<td colspan="2" valign="middle" class="word_grey"></td>
</tr>
</table></td>
<td width="5" valign="top" background="../Images/Cen_separate.gif"></td>
<td width="73%" valign="top"><table width="100%" height="56" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center"> </td>
</tr>
<tr>
<td align="center">
<form action="food_add_deal.jsp" method="post" name="form1">
<table width="100%" border="0" align="center" cellpadding="-2" cellspacing="-2" bordercolordark="#FFFFFF">
<tr>
<td width="14%" height="27"> 餐品名:</td>
<td width="25%" height="27">
<input name="foodname" type="text" class="Style_upload" id="foodname2"></td>
<td width="15%" height="27"> 餐厅名称:</td>
<td width="46%" height="27">
<input name="type" type="text" class="Sytle_text" id="zishu2"> </td>
</tr>
<tr>
<td height="27"> 餐品图片:</td>
<td height="27">
<input name="cover" type="text" class="Style_upload" id="cover" value=<%=fName%>></td>
<td height="27"> 价 格:</td>
<td height="27">
<input name="price" type="text" class="Sytle_text" id="price">
(元)</td>
</tr>
<tr>
<td height="27"> 日 期:</td>
<td height="27">
<input name="pDate" type="text" class="Sytle_text" id="pDate"></td>
<td height="27"> </td>
<td height="27"> </td>
</tr>
<tr>
<td height="45"> 是否推荐:</td>
<td> <input name="commend" type="radio" class="noborder" value="1" checked>
是
<input name="commend" type="radio" class="noborder" value="0">
否</td>
<td> 是否新品:</td>
<td><input name="newfood" type="radio" class="noborder" value="1" checked>
是
<input name="newfood" type="radio" class="noborder" value="0">
否</td>
</tr>
<tr>
<td height="103"> 简介:</td>
<td colspan="3"><span class="style5"> </span>
<textarea name="introduce" cols="60" rows="5" class="textarea" id="introduce"></textarea></td>
</tr>
<tr>
<td height="38" colspan="4" align="center">
<input name="Button" type="button" class="btn_grey" value="保存" onClick="mycheck()">
<input name="Submit2" type="reset" class="btn_grey" value="重置">
<input name="Submit3" type="button" class="btn_grey" value="返回" onClick="JScript:history.back()"> </td>
</tr>
</table>
</form>
</td>
</tr>
</table></td>
</tr>
</table>
<jsp:include page="copyright.jsp"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -