你的javabean写得不好,只能下面这样做了
首先要<jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
然后
<tr bgcolor="#cccccc"><td><b>系统名称</b></td>
<%ResultSet rs=db.querydata();
while(rs.next()) {
out.print("<td>"+rs.getString(1)+"</td>"):
%>
</tr>
首先要<jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
然后
<tr bgcolor="#cccccc"><td><b>系统名称</b></td>
<%ResultSet rs=db.querydata();
while(rs.next()) {
out.print("<td>"+rs.getString(1)+"</td>"):
%>
</tr>
解决方案 »
- 挑战 spring 高手
- velocity模板使用
- 一个有关js的思路
- SSH中,在页面提交时间,hibernate自动生成的实例类中Date属性,怎么自动填充
- weblogic服务器的TPETIME(13) (高分)
- SpringIDE在eclipse3.2中装了后用不了
- jtree问题 救命啊!
- 怎么解决java.sql.SQLException: I/O Error: Connection reset by peer: socket write error
- 高分求救!用java连接postgresql出错,附有代码,100分给一人~~~~不够再加!
- 怎么遍历list来得到easyui tree 需要的json
- 新手问:jsp,servet,javabean,ejb ,j2ee ,struts都需要什么运行环境
- 装完ant后执行报错
logic:iterator只能循环遍历一个Collection,所以必须修改你的javabean才行
package wjhstruts;
import java.sql.*;public class Jsp4Bean {
public Connection Pcon;
public Statement Pstatement;
public Statement con_statement()throws Exception //连接
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Pcon = java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://wjh:1433;DatabaseName=wjh", "sa", "");
Pstatement = Pcon.createStatement();
return Pstatement;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
public List querydata() //查询
{
try
{
List l=new ArrayList();
ResultSet result=con_statement().executeQuery("select systemname from Tsystem");
while(rs.next()) {
l.add(rs.getString("systemname"));
}
return l;
}
catch(Exception e)
{
return null;
}
}
}
jsp里面:<jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
<%pageContext.setAttribute("result",db.querydata());%>
<tr bgcolor="#cccccc"><td><b>系统名称</b></td>
<logic:iterator id="sysName" name="result">
<tr><bean:write name="sysName"/></td>
</logic:iterator>
</tr>
请问:jFresH_MaN,如何写javabean,我要用logic标签,麻烦你帮我写写好么,拜托了。
public List querydata() //此报错哦 List没定义
{
try
{
List l=new ArrayList(); //此也报错哦
ResultSet result=con_statement().executeQuery("select systemname from Tsystem");
while(rs.next()) {
l.add(rs.getString("systemname"));
}
return l;
}
catch(Exception e)
{
return null;
}
}
import java.util.Arraylist;
import java.util.Arraylist; //此有错哦
while(rs.next()) { //此仍错
l.add(rs.getString("systemname")); //此仍错 要引用什么吗?
l.add(result.getString("systemname"));
麻烦小姐你自己检查一下我的笔误。。
如果在jsp里把下面的去掉,就可以
<table align="center" bgcolor="#986530" border="0" cellspacing="2" cellpadding="5">
<tr bgcolor="#cccccc"><td><b>系统名称</b></td>
<logic:iterator id="sysName" name="result">
<tr><bean:write name="sysName"/></td>
</logic:iterator>
</tr>
</table>
如果保留就报“"jsp1.jsp": org.apache.jasper.JasperException: No such tag iterator in the tag library imported with prefix logic”错误,怎改呀?
<logic:iterator id="sysName" name="result">
<tr><bean:write name="sysName"/></td>
</logic:iterator>
改为:
<logic:iterate id="sysName" name="result">
<tr><bean:write name="sysName"/></td>
</logic:iterate >
又报“"jsp1.jsp": org.apache.jasper.compiler.ParseException: End of content reached while more parsing required: tag nesting error?”错误!
<td><bean:write name="sysName"/></td>
</logic:iterate >
晕,今天怎么那么多错误?哎。。
logic:iterate id="sysName" name="result"> //前面不用<的吗但运行有错哦
javax.servlet.ServletException: Cannot find bean sysName in scope null
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
at org.apache.jsp.jsp1$jsp._jspService(jsp1$jsp.java:139)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
...我的jsp为
<%@page contentType="text/html;charset=gb2312"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
<%pageContext.setAttribute("result",db.querydata());%>
<html>
<head></head>
<body>
<center>
<table align="center" bgcolor="#986530" border="0" cellspacing="2" cellpadding="5">
<tr bgcolor="#cccccc"><td><b>系统名称</b></td></tr>
logic:iterate id="sysName" name="result">
<td><bean:write name="sysName"/></td>
</logic:iterate >
</table>
</center>
</body>
</html>
<logic:iterate id="sysName" name="result">
<td><bean:write name="sysName"/></td>
</logic:iterate >
jFresH_MaN大哥:若改为:
<logic:iterate id="sysName" name="result">
<td><bean:write name="sysName"/></td>
</logic:iterate >
又报错:"jsp1.jsp": org.apache.jasper.compiler.ParseException: End of content reached while more parsing required: tag nesting error?
原来的wjhstruts.Jsp4Bean类不用变,下面是jsp内容
<%@page contentType="text/html;charset=gb2312"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
<%pageContext.setAttribute("result",db.querydata());%>
<html>
<head></head>
<body>
<center>
<hr>迭代的使用:<br>
<table align="center" bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
<tr bgcolor="#cccccc"><td><b>系统名称</b></td></tr>
<logic:iterate id="sysName" name="result">
<tr bgcolor="#cccccc"><td><bean:write name="sysName"/></td></tr>
</logic:iterate>
</table></center>
</body>
</html>
希望你成功