在ACTION的EXECUTE()中查询数据,把查询结果放在LIST类的数据结构中,在转到JSP页面上显示:-------dispAction.java---------
package comp;import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import java.util.Vector;
import java.util.List;
import java.util.Iterator;
import java.util.LinkedList;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class dispAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
Vector uv = new Vector();
Connection con=null;
PreparedStatement ptms=null;
ResultSet rs=null;
con=getConn();
try{
ptms = con.prepareStatement("select * from userinfo");
rs=ptms.executeQuery(); while(rs.next()){
userinfo us=new userinfo();
us.setName(rs.getString("name"));
us.setAddress(rs.getString("address"));
us.setAge(rs.getInt("age"));
us.setId(rs.getString("id"));
uv.add(us);
} CloseCon(con,ptms,rs); servletRequest.getSession().setAttribute("uv",uv);
return actionMapping.findForward("dispall"); }
catch(Exception ex){
ex.printStackTrace();
CloseCon(con,ptms,rs);
return actionMapping.findForward("disperr");
} } public Connection getConn() {
Connection conn = null; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); }
catch (Exception ex) {
ex.printStackTrace();
} try {
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test", "test", null);
}
catch (Exception e) {
e.printStackTrace();
}
return conn;
} public void CloseCon(Connection con, PreparedStatement pstm,ResultSet rs) {
try {
if (pstm != null) {
pstm.close();
pstm = null;
}
if (con != null) {
con.close();
con = null;
}
if (rs != null) {
rs.close();
rs = null;
} }
catch (Exception ex) {
ex.printStackTrace();
} }
}
--------dispall.jsp--------
<%@page contentType="text/html; charset=GB2312"%>
<%@page import="comp.userinfo"%>
<%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html>
<head>
<title>dispall</title>
</head>
<body bgcolor="#ffffff">
<h1>dispall</h1>
<table>
<logic:present name="uv" scope="session">
<logic:iterate name="uv" id="iduser" type="comp.userinfo">
<tr>
<td><bean:write name="iduser" property="name"/></td>
<td><bean:write name="iduser" property="age"/></td>
<td><bean:write name="iduser" property="address"/></td>
</tr>
</logic:iterate>
</logic:present>
</table>
<!--
<%
/*Vector uv = (Vector) request.getSession().getAttribute("uv");
Iterator ui = uv.iterator();
while (ui.hasNext()) {
userinfo user = new userinfo();
user = (userinfo) ui.next();
*/
%>
<br>
<%//=user.getName() %><%//}%>
-->
</body>
</html>注释部分是不用<logic:xxx>,直接用JSP访问的写法
package comp;import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import java.util.Vector;
import java.util.List;
import java.util.Iterator;
import java.util.LinkedList;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class dispAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
Vector uv = new Vector();
Connection con=null;
PreparedStatement ptms=null;
ResultSet rs=null;
con=getConn();
try{
ptms = con.prepareStatement("select * from userinfo");
rs=ptms.executeQuery(); while(rs.next()){
userinfo us=new userinfo();
us.setName(rs.getString("name"));
us.setAddress(rs.getString("address"));
us.setAge(rs.getInt("age"));
us.setId(rs.getString("id"));
uv.add(us);
} CloseCon(con,ptms,rs); servletRequest.getSession().setAttribute("uv",uv);
return actionMapping.findForward("dispall"); }
catch(Exception ex){
ex.printStackTrace();
CloseCon(con,ptms,rs);
return actionMapping.findForward("disperr");
} } public Connection getConn() {
Connection conn = null; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); }
catch (Exception ex) {
ex.printStackTrace();
} try {
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test", "test", null);
}
catch (Exception e) {
e.printStackTrace();
}
return conn;
} public void CloseCon(Connection con, PreparedStatement pstm,ResultSet rs) {
try {
if (pstm != null) {
pstm.close();
pstm = null;
}
if (con != null) {
con.close();
con = null;
}
if (rs != null) {
rs.close();
rs = null;
} }
catch (Exception ex) {
ex.printStackTrace();
} }
}
--------dispall.jsp--------
<%@page contentType="text/html; charset=GB2312"%>
<%@page import="comp.userinfo"%>
<%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html>
<head>
<title>dispall</title>
</head>
<body bgcolor="#ffffff">
<h1>dispall</h1>
<table>
<logic:present name="uv" scope="session">
<logic:iterate name="uv" id="iduser" type="comp.userinfo">
<tr>
<td><bean:write name="iduser" property="name"/></td>
<td><bean:write name="iduser" property="age"/></td>
<td><bean:write name="iduser" property="address"/></td>
</tr>
</logic:iterate>
</logic:present>
</table>
<!--
<%
/*Vector uv = (Vector) request.getSession().getAttribute("uv");
Iterator ui = uv.iterator();
while (ui.hasNext()) {
userinfo user = new userinfo();
user = (userinfo) ui.next();
*/
%>
<br>
<%//=user.getName() %><%//}%>
-->
</body>
</html>注释部分是不用<logic:xxx>,直接用JSP访问的写法
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货