struts2 读取数据库数据并显示,急求解答
sturts.xml内容如下<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoft...
sturts.xml内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="sinformation" class="com.action.SinformationAction">
<result name="success">/Sinformation.jsp</result>
</action>
</package>
</struts>
SinformationAction.java内容如下:
public class SinformationAction extends ActionSupport{
public List<student> studentlist;
public List<student> list = new ArrayList<student>();
public List<student> getStudentlist() {
return studentlist;
}
public void setStudentlist(List<student> studentlist) {
this.studentlist = studentlist;
}
public String execute() throws Exception {
Connection conn=ConnOracle.getConn();
Statement stmt=conn.createStatement();
String sql="SELECT * FROM STU_INFORMATION";
ResultSet rs1=stmt.executeQuery(sql);
while(rs1.next()){
student stu = new student();
stu.setDept(rs1.getString("系别"));
stu.setClasses(rs1.getString("班级"));
stu.setStudent_num(rs1.getString("学号"));
stu.setStudent_name(rs1.getString("姓名"));
stu.setTerm(rs1.getString("学期"));
stu.setCourse(rs1.getString("课程"));
stu.setScore(rs1.getString("分数"));
list.add(stu);
}
this.setStudentlist(list);
return SUCCESS;
}
}
Sinformation.jsp内如下:
<body>
<table width="880" border="1" align="center">
<tr align="center">
<td colspan="10"><strong>学生信息</strong></td>
</tr>
<tr align="center">
<td>系别</td>
<td>班级</td>
<td>学号</td>
<td>姓名</td>
<td>学期</td>
<td>课程</td>
<td>分数</td>
</tr>
<s:iterator value="studentlist" status="st">
<tr align="center">
<td><s:property value="dept"/></td>
<td><s:property value="classes"/></td>
<td><s:property value="student_num"/></td>
<td><s:property value="student_name"/></td>
<td><s:property value="term"/></td>
<td><s:property value="course"/></td>
<td><s:property value="score"/></td>
</tr>
</s:iterator>
</table>
</body>
student.java内如下:
public class student {
private String dept = null;
private String classes= null;
private String student_num= null;
private String student_name= null;
private String term= null;
private String course= null;
private String score= null;
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
由于超了字数,其间省略很多。
}
数据库类没有问题,就不贴了。
求解为什么还是无法在首页显示出来数据库中的内容。 展开
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="sinformation" class="com.action.SinformationAction">
<result name="success">/Sinformation.jsp</result>
</action>
</package>
</struts>
SinformationAction.java内容如下:
public class SinformationAction extends ActionSupport{
public List<student> studentlist;
public List<student> list = new ArrayList<student>();
public List<student> getStudentlist() {
return studentlist;
}
public void setStudentlist(List<student> studentlist) {
this.studentlist = studentlist;
}
public String execute() throws Exception {
Connection conn=ConnOracle.getConn();
Statement stmt=conn.createStatement();
String sql="SELECT * FROM STU_INFORMATION";
ResultSet rs1=stmt.executeQuery(sql);
while(rs1.next()){
student stu = new student();
stu.setDept(rs1.getString("系别"));
stu.setClasses(rs1.getString("班级"));
stu.setStudent_num(rs1.getString("学号"));
stu.setStudent_name(rs1.getString("姓名"));
stu.setTerm(rs1.getString("学期"));
stu.setCourse(rs1.getString("课程"));
stu.setScore(rs1.getString("分数"));
list.add(stu);
}
this.setStudentlist(list);
return SUCCESS;
}
}
Sinformation.jsp内如下:
<body>
<table width="880" border="1" align="center">
<tr align="center">
<td colspan="10"><strong>学生信息</strong></td>
</tr>
<tr align="center">
<td>系别</td>
<td>班级</td>
<td>学号</td>
<td>姓名</td>
<td>学期</td>
<td>课程</td>
<td>分数</td>
</tr>
<s:iterator value="studentlist" status="st">
<tr align="center">
<td><s:property value="dept"/></td>
<td><s:property value="classes"/></td>
<td><s:property value="student_num"/></td>
<td><s:property value="student_name"/></td>
<td><s:property value="term"/></td>
<td><s:property value="course"/></td>
<td><s:property value="score"/></td>
</tr>
</s:iterator>
</table>
</body>
student.java内如下:
public class student {
private String dept = null;
private String classes= null;
private String student_num= null;
private String student_name= null;
private String term= null;
private String course= null;
private String score= null;
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
由于超了字数,其间省略很多。
}
数据库类没有问题,就不贴了。
求解为什么还是无法在首页显示出来数据库中的内容。 展开
3个回答
展开全部
是报错,还是没有显示出来值,你倒是说明白啊?如果是没有显示出来,那就是studentlist集合为空,也就是说:没有读出来数据。 你在while循环那里打个断点跟踪下!
追问
是没读出来。
那个 没试过myeclips加断点的方法。。。我试试学学。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会不会是因为xml文件,name名字写错了
<action name="sinformation" class="com.action.SinformationAction">
<action name="sinformation" class="com.action.SinformationAction">
追问
这个写法是没有问题的。
追答
不会断点就打印一下list里面元素的值,你看看是不是空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问个问题你数据库里的字段用的中文?
更多追问追答
追问
是的,这个用oracle建立的视图。字段名用了中文了。
追答
这样的话数据库取值应该是没问题的,前台写法也没什么问题,那就是studentlist没有值,可以用这样试下,this.setStudentlist(list);改为this.studentlist=list;还有就是变量声明时最好用private
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询