具体的需求:在jsp页面上显示从数据库中取出的行列集,然后下面一个按钮,当点击按钮时直接调出Excel文件,excel文件中的内容和jsp页面上的内容一样。并且要求对excel中的内容的字体,字号,等进行格式化。
解决此问题,首先连库,输出
package
cn.ityc.data;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.sql.Statement;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
DBConn
...
{
private static Connection conn;
private Statement stmt;
private ResultSet rs;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
private Connection DBConn()...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/excel","root","111111");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (InstantiationException e) ...{
e.printStackTrace();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (IllegalAccessException e) ...{
e.printStackTrace();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (ClassNotFoundException e) ...{
e.printStackTrace();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (SQLException e) ...{
e.printStackTrace();
}
return conn;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public static DBConn getInstance()...{
DBConn dbconn = new DBConn();
return dbconn;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public boolean isExist(String sql)...{
boolean isExist = false;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
Connection conn = DBConn.getInstance().DBConn();
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(rs.next())...{
isExist = true;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (SQLException e) ...{
e.printStackTrace();
}
return isExist;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public boolean update(String sql)...{
boolean isUpdate = false;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
conn = DBConn.getInstance().DBConn();
stmt = conn.createStatement();
int num = stmt.executeUpdate(sql);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(num>0)...{
isUpdate = true;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (SQLException e) ...{
e.printStackTrace();
}
return isUpdate;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public ResultSet query(String sql)...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
conn = DBConn.getInstance().DBConn();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (SQLException e) ...{
e.printStackTrace();
}
return rs;
}
}
我采用了jdbc,连接数据库mysql数据库
然后用一个Getlist.java将结果集ResultSet转化成list
package
cn.ityc.data;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.math.BigDecimal;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.util.ArrayList;
import
java.util.List;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
cn.ityc.struts.form.GradeForm;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
GetList
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public static List<GradeForm> getData(String sql)...{
List<GradeForm> list = new ArrayList<GradeForm>();
ResultSet rs = DBConn.getInstance().query(sql);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
while(rs.next())...{
GradeForm gradeForm = new GradeForm();
String name = rs.getString("name");
String course = rs.getString("course");
BigDecimal grade = rs.getBigDecimal("grade");
gradeForm.setName(name);
gradeForm.setCourse(course);
gradeForm.setGrade(grade);
list.add(gradeForm);
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (SQLException e) ...{
e.printStackTrace();
}
return list;
}
}
然后用一个测试输出的主方法类
package
cn.ityc.data;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.util.ArrayList;
import
java.util.List;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
cn.ityc.struts.form.GradeForm;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
TestDemo
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* @param args
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public static void main(String[] args) ...{
String sql = "select * from excel";
List<GradeForm> list = (ArrayList<GradeForm>)GetList.getData(sql);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
for(int i=0;i<list.size();i++)...{
System.out.println(list.get(i).getName());
System.out.println(list.get(i).getCourse());
System.out.println(list.get(i).getGrade());
}
}
}
当然,我建的mysql的数据库是
--
--
表的结构 `excel`
--
CREATE
TABLE
`excel` (
`id`
int
(
10
)
NOT
NULL
,
`name`
varchar
(
30
) collate gb2312_bin
default
NULL
,
`course`
varchar
(
30
) collate gb2312_bin
default
NULL
,
`grade`
decimal
(
10
,
0
)
default
NULL
,
PRIMARY
KEY
(`id`)
) ENGINE
=
InnoDB
DEFAULT
CHARSET
=
gb2312 COLLATE
=
gb2312_bin;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
--
--
导出表中的数据 `excel`
--
INSERT
INTO
`excel` (`id`, `name`, `course`, `grade`)
VALUES
(
1
,
0x7573657231
,
0xe789a9e79086
,
91
),
(
2
,
0x7573657232
,
0xe789a9e79086
,
90
),
(
3
,
0x7573657233
,
0xe58c96e5ada6
,
91
);
然后就可以在java的控制台进行最简单的数据库数据读取了。
那么如何将这些写入excel呢?我在网上找了半天找了一个poi的三个jar包,可以对excel就行一系列的操作
package
cn.ityc.data;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.io.FileNotFoundException;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.util.List;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
org.apache.poi.hssf.usermodel.HSSFCell;
import
org.apache.poi.hssf.usermodel.HSSFCellStyle;
import
org.apache.poi.hssf.usermodel.HSSFPrintSetup;
import
org.apache.poi.hssf.usermodel.HSSFRow;
import
org.apache.poi.hssf.usermodel.HSSFSheet;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook;
import
org.apache.poi.hssf.util.Region;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
cn.ityc.struts.form.GradeForm;
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
Excel
...
{
private String sheetName;
private HSSFWorkbook hwb;
private short rowNumber;
private short cellNumber;
FileOutputStream fileOut;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void produce()...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
fileOut = new FileOutputStream("aa.xls");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (FileNotFoundException e1) ...{
e1.printStackTrace();
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
hwb = new HSSFWorkbook();
sheetName = "sheet1";
HSSFSheet sheet = this.createSheet();
HSSFRow row = sheet.createRow((short)0);
sheet.addMergedRegion(new Region(0,(short)0,0,(short)2));//
HSSFCell cell1 = row.createCell((short)0);
HSSFCell cell2 = row.createCell((short)1);
HSSFCell cell3 = row.createCell((short)2);
// 定义表头的内容
cell1.setCellValue("姓名");
// cell2.setCellValue("课程");
// cell3.setCellValue("分数");
MyHSSFCellStyle mystyle = new MyHSSFCellStyle();
mystyle.setFontName("楷体");
mystyle.setFontSize((short)800);
mystyle.setHwb(hwb);
HSSFCellStyle style = mystyle.getHSSFCellStyle();
// style.setWrapText(true);
cell1.setCellStyle(style);
cell2.setCellStyle(style);
HSSFPrintSetup ps = sheet.getPrintSetup();
sheet.setAutobreaks(true);
ps.setFitHeight((short)800);
ps.setFitWidth((short)800);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
String sql="select * from excel";
List<GradeForm> list = GetList.getData(sql);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
for(int i=0;i<GetList.getData(sql).size();i++) ...{
// 定义数据从第二行开始
row = sheet.createRow((short)i+1);
cell1 = row.createCell((short)0);
cell2 = row.createCell((short)1);
cell3 = row.createCell((short)2);
cell1.setCellValue(list.get(i).getName());
cell2.setCellValue(list.get(i).getCourse());
String grade = list.get(i).getGrade()+"";
cell3.setCellValue(grade);
mystyle = new MyHSSFCellStyle();
mystyle.setFontName("楷体");
mystyle.setFontSize((short)300);
mystyle.setHwb(hwb);
style = mystyle.getHSSFCellStyle();
cell1.setCellStyle(style);
cell2.setCellStyle(style);
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
hwb.write(fileOut);
fileOut.close();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (IOException e) ...{
e.printStackTrace();
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
Open.open("aa.xls");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} catch (IOException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
private HSSFSheet createSheet()...{
HSSFSheet sheet = hwb.createSheet(sheetName);
return sheet;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
private HSSFRow createRow()...{
HSSFRow row = this.createSheet().createRow(rowNumber);
return row;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
private HSSFCell createCell()...{
HSSFCell cell = this.createRow().createCell(cellNumber);
return cell;
}
}
其中此类用到下面的辅助的类,大家一看就会明白
package
cn.ityc.data;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
org.apache.poi.hssf.usermodel.HSSFCell;
import
org.apache.poi.hssf.usermodel.HSSFCellStyle;
import
org.apache.poi.hssf.usermodel.HSSFFont;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
MyHSSFCellStyle
...
{
private HSSFWorkbook hwb;
private String fontName;
private short fontSize;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public String getFontName() ...{
return fontName;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setFontName(String fontName) ...{
this.fontName = fontName;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public short getFontSize() ...{
return fontSize;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setFontSize(short i) ...{
this.fontSize = i;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public HSSFCellStyle getHSSFCellStyle()...{
HSSFCellStyle style=hwb.createCellStyle();
style.setAlignment(style.ALIGN_CENTER);
HSSFFont hf=hwb.createFont();
hf.setFontName(this.getFontName());
hf.setFontHeight(this.getFontSize());
style.setFont(hf);
return style;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public HSSFWorkbook getHwb() ...{
return hwb;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setHwb(HSSFWorkbook hwb) ...{
this.hwb = hwb;
}
}
值得提一下的是下面这个Open,他是一个在windows的环境下打开文件一个方法。不能快平台。这是个缺陷
package
cn.ityc.data;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.io.IOException;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
Open
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
public static void open(String fileName) throws IOException
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
Runtime r = Runtime.getRuntime();
Process p = null;
String strwinapp = "excel.exe";
try
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
p = Runtime.getRuntime().exec("cmd /c start "+fileName);
}
catch(Exception e)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
e.printStackTrace();
}
}
}
主要的代码就是这些。
然后我用了struts1。2来实现的
所以下面有action,form,和struts-config.xml文件
action
package
cn.ityc.struts.action;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.util.List;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
org.apache.struts.action.ActionForm;
import
org.apache.struts.action.ActionForward;
import
org.apache.struts.action.ActionMapping;
import
org.apache.struts.actions.DispatchAction;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
cn.ityc.data.Excel;
import
cn.ityc.data.GetList;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
GradeAction
extends
DispatchAction
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
public ActionForward list(ActionMapping mapping, ActionForm form,
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
HttpServletRequest request, HttpServletResponse response) ...{
List list = GetList.getData("select * from excel");
request.getSession().setAttribute("list", list);
return mapping.findForward("showlist");
}
public ActionForward excel(ActionMapping mapping, ActionForm form,
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
HttpServletRequest request, HttpServletResponse response) ...{
Excel ee = new Excel();
ee.produce();
return mapping.findForward("success");
}
}
form
/**/
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package
cn.ityc.struts.form;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.math.BigDecimal;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
javax.servlet.http.HttpServletRequest;
import
org.apache.struts.action.ActionErrors;
import
org.apache.struts.action.ActionForm;
import
org.apache.struts.action.ActionMapping;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/** */
/**
* MyEclipse Struts
* Creation date: 11-30-2007
*
* XDoclet definition:
* @struts.form name="gradeForm"
*/
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
GradeForm
extends
ActionForm
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//*
* Generated fields
*/
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//** grade property */
private BigDecimal grade;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//** course property */
private String course;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//** name property */
private String name;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//*
* Generated Methods
*/
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
HttpServletRequest request) ...{
// TODO Auto-generated method stub
return null;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* Method reset
* @param mapping
* @param request
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void reset(ActionMapping mapping, HttpServletRequest request) ...{
// TODO Auto-generated method stub
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* Returns the grade.
* @return String
*/
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* Returns the course.
* @return String
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public String getCourse() ...{
return course;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* Set the course.
* @param course The course to set
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setCourse(String course) ...{
this.course = course;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* Returns the name.
* @return String
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public String getName() ...{
return name;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/** *//**
* Set the name.
* @param name The name to set
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setName(String name) ...{
this.name = name;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public BigDecimal getGrade() ...{
return grade;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setGrade(BigDecimal grade) ...{
this.grade = grade;
}
}
struts-config.xml
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
<!
DOCTYPE struts
-
config PUBLIC
"
-//Apache Software Foundation//DTD Struts Configuration 1.2//EN
"
"
http://struts.apache.org/dtds/struts-config_1_2.dtd
"
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<
struts
-
config
>
<
data
-
sources
/>
<
form
-
beans
>
<
form
-
bean name
=
"
gradeForm
"
type
=
"
cn.ityc.struts.form.GradeForm
"
/>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
</
form
-
beans
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<
global
-
exceptions
/>
<
global
-
forwards
/>
<
action
-
mappings
>
<
action
attribute
=
"
gradeForm
"
input
=
"
/form/grade.jsp
"
name
=
"
gradeForm
"
parameter
=
"
method
"
path
=
"
/grade
"
scope
=
"
request
"
type
=
"
cn.ityc.struts.action.GradeAction
"
>
<
forward name
=
"
success
"
path
=
"
/index.jsp
"
/>
<
forward name
=
"
showlist
"
path
=
"
/showlist.jsp
"
/>
</
action
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
</
action
-
mappings
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<
message
-
resources parameter
=
"
cn.ityc.struts.ApplicationResources
"
/>
</
struts
-
config
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
好了,马上下班了。里面需要poi的三个包和jdbc的包,如果想要的请给我wwwityc@126.com发邮件。