
通过form把数据传到后台,用你对象的属性,如user对象,属性name,那就usersetName(Name),然后sessionsave(user);transcommit();sessionclose();就可以了
步骤如下:
1、把文本框的内容 写在form里面。给他个name =“wenname”名字,写个<input type='submit' value="提交">。
2、这样这个文本框就会提交到后台。
3、action里面 Sting name= requestgetParameter("wenname")。
4、处理后,用jdbc连接数据库,然后写个SQL 加进去就好了。insert 插入,update 更新。
不明白为啥指定json,我的建议是:
1、STRUTS文件标签选择并上传EXCEL文件,示例代码:
<html:form action="/uploadExcelFile/UploadExcelFileActiongo" enctype="multipart/form-data" method="post" onsubmit="return confirm_save()">
<table border="0" cellpadding="0" cellspacing="5" align="center" style="margin:50">
<tr>
<td align="right" nowrap > 请选择Excel文件(<%=excelType%>):</td>
<td align="right" colspan="3" valign="middle" nowrap ><html:file property="aircraftExcel" size="200" style="width:400;height:25" value=""></html:file></td>
</tr><tr>
<td></td>
<td align="right">Excel文件中标题(表头)占行:</td>
<td align="left"><input name="topicRow" value="0" style="width:50" onKeyUp="value=valuereplace(/[\D]/g,'')"/></td>
<TD align="right" nowrap title="上传"><html:submit value="开始更新" style="height:25; width:70"></html:submit></TD>
</tr>
</table>
</html:form>
2、UploadExcelFileAction接收、写入后台指定目录(局部代码)
FileOutputStream fos = null;
try {
//得到文件数据(数组)
byte[] fileDate = ffgetFileData();
//得到服务器硬盘文件夹的绝对路径
ServletContext application = thisgetServlet()getServletContext();
String realPath = applicationgetRealPath("/");
if(excelType==null||excelTypeequals("xlsx"))//默认生成2007以后版本格式
fos = new FileOutputStream(realPath+"aircraftExcelTablexlsx");
else
fos = new FileOutputStream(realPath+"aircraftExcelTablexls");
foswrite(fileDate);
fosclose();
if(excelType==null||excelTypeequals("xlsx"))//默认生成2007以后版本格式
num=ReadExcelSaveToDBReadAndSaveNew(realPath+"aircraftExcelTablexlsx",topicNumber);
else
num=ReadExcelSaveToDBReadAndSave(realPath+"aircraftExcelTablexls",topicNumber);
if(num==-1){
sessionsetAttribute("forwardPage", currentPage);
sessionsetAttribute("prompt", "文件传输失败或无法连接数据库!");
return mappingfindForward("promptpage");
}else if(num==-2){
sessionsetAttribute("forwardPage", currentPage);
sessionsetAttribute("prompt", "Excel文件大于1000条或不能识别!重新制作Excel文件。");
return mappingfindForward("promptpage");
}else if(num==-3){
sessionsetAttribute("forwardPage", currentPage);
sessionsetAttribute("prompt", "Excel文件中包含非法字符(非数字),请修正后重试。");
return mappingfindForward("promptpage");
}
} catch (FileNotFoundException e) {
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}finally{
try {
fosclose();
} catch (IOException e) {
eprintStackTrace();
}
}
3、解析读取表数据(POI)并存入数据库(局部代码)
public static int ReadAndSave(String path,String topicNumber){
try {
File file=new File(path);
FileInputStream fs=new FileInputStream(file);
@SuppressWarnings("resource")
HSSFWorkbook workbook=new HSSFWorkbook(fs);
//一共有几张表
int sheet_num=workbookgetNumberOfSheets();
setSheetNumber(0);
setProcess(0);//开始
//循环每个表
for(int i=0;i<sheet_num;i++){
HSSFSheet sheet=workbookgetSheetAt(i);
setSheetNumber(i+1);
if(sheet!=null&&sheetgetPhysicalNumberOfRows()!=0){
int topicNumberNum=IntegerparseInt(topicNumber);//越过首行的标题(如果有)
totalNumber=sheetgetPhysicalNumberOfRows()-topicNumberNum;
//循环各个行
for(int j=sheetgetFirstRowNum()+topicNumberNum;j<=sheetgetPhysicalNumberOfRows();j++){
HSSFRow row=sheetgetRow(j);
String aircraft=null;
//String aircraftType=null;
Double takeoffWeight=000;
Double payloadMax2=000;
int seatNumberMax2=0;
if(row!=null&&rowgetPhysicalNumberOfCells()!=0){
switch(rowgetCell(0)getCellType()){
case CellCELL_TYPE_STRING:
aircraft=(rowgetCell(0)getStringCellValue())trim();
break;
case CellCELL_TYPE_NUMERIC:
aircraft=StringvalueOf(rowgetCell(0)getNumericCellValue())trim();
break;
}
//继续处理其他单元格、行
}
//存入数据库
AircraftTableActionForm atb=new AircraftTableActionForm();
if(aircraft!=null&&!aircraftequals("")){
atbsetAircraft(aircraft);
//set其他值
updateByExcel(atb)!=-1
}
}
使用编辑器 把页面信息布局好 然后存入数据库中,
页面从数据库中读取到的都是html的一些代码 你就可以直接显示出来,也不用自己布局那么麻烦了
自己去看下编辑器吧 fckeditor也是不错了 自己百度去吧
registerjsp:
<%@ page language="java" import="javautil" pageEncoding="UTF-8"%>
<html>
<head>
<title>这是一个注册页面</title>
</head>
<body>
<center>
<form action="adduserjsp" method="post">
<table width="777" border="0" cellspacing="0" cellpadding="0" align="center" style="top: 131px; height: 30px;">
<tr>
<td align="left"><b><font size="3">用户序号:</font></b></td>
<td><input type="text" name="id" size="12"></td>
</tr>
<tr>
<td align="left"><b><font size="3">用户名:</font></b></td>
<td><input type="text" name="name" size="12"></td>
</tr>
<tr>
<td align="left"><b><font size="3">时间:</font></b></td>
<td><input type="date" name="date" size="12"></td>
</tr>
<tr>
<td align="left"><b><font size="3">发布内容:</font></b></td>
<textarea name="text" cols="40" rows="5">请在这里输入您要发布的内容</textarea>
</tr>
<tr><td><input type="submit" name="Submit" value="提交"></td></tr>
</table>
</form>
</center>
</body>
</html>
adduserjsp:
<%@ page language="java" import="javautil" pageEncoding="UTF-8"%>
<%@page import="javasql"%>
<jsp:useBean id="query" class="userdbfunction" scope="page"></jsp:useBean>
<html>
<head>
<title>将用户信息加入数据库</title>
</head>
<body>
<%
String id = requestgetParameter("id");
String name = requestgetParameter("name");
String date = requestgetParameter("date");
String text = requestgetParameter("text");
ResultSet rs=null;
String str="select id,name,date,text from User where name='"+name+"';";
queryconnect();
rs=queryselect(str);
rslast();
str="insert into User(id,name,date,text)values('"+id+"','"+name+"','"+date+"','"+text+"');";
queryupdate(str);
outprintln("提交信息成功!");
outprint("本页面将在3秒后自动跳转到上一页面!");
outprint("<meta >
以上就是关于怎样在把jsp页面中用户输入的数据的通过hibernate存入到数据库全部的内容,包括:怎样在把jsp页面中用户输入的数据的通过hibernate存入到数据库、JSP中怎样把文本框的内容提交后台处理并保存到数据库、从jsp页面上传 excel文件 存到数据库 用json做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)