请求大哥的一个问题,其他大虾也可以进来看看

logicjavabean 2005-02-28 02:14:08
jFresH_MaN大哥,你好,关于上次我问你的问题 http://community.csdn.net/Expert/topic/3808/3808400.xml?temp=.6091883
(logic标签库中迭代的用法)已经可以了。
但这个问题在javabean,是选择单个字段的(select systemname from Tsystem)
如果我要选择2个字段(select systemid,systemname from Tsystem),再进行迭代,怎做呀,在jsp里怎写?
...全文
138 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
congbailing_914 2005-02-28
顶!学习!
回复
logicjavabean 2005-02-28
我改为:
<html:form action="/wjh.do" method="get">
<html:select property="systemname1">
<logic:iterate id="sysName" name="uSession">
<html:option><bean:write name="sysName" property="systemname"/></html:option>//此出错
</logic:iterate>
</html:select>
</html:form>
错误信息:"jsp1.jsp": According to the TLD attribute value is mandatory for tag option at line 27, column 5
回复
jFresH_MaN 2005-02-28

就是<select property="xxx"不能少
回复
logicjavabean 2005-02-28
jFresH_MaN大哥,最后一次麻烦你了
回复
logicjavabean 2005-02-28
jFresH_MaN大哥
我改为:
<html:select name="oprator">
<logic:iterate id="sysName" name="result">
<html:option><bean:write name="sysName" property="systemname"/></html:option>
</logic:iterate>
</html:select>
但报错:"jsp1.jsp": According to the TLD attribute property is mandatory for tag select at line 25, column 6
回复
liaoxingya276 2005-02-28
小妹妹太缺乏经验了!
回复
jFresH_MaN 2005-02-28
还是一样的啊
<html:select name"oprator>
<logic:iterate id="sysName" name="result">
<html:option><bean:write name="sysName" property="systemid"/></html:option>
<html:option><bean:write name="sysName" property="systemname"/></html:option>
</logic:iterate>
回复
logicjavabean 2005-02-28

还请教一个问题,
如果只有一个字段,怎么把迭代出来的这个值,填充到下拉列表筐里呀?
即<select name="operator"> </select>
回复
logicjavabean 2005-02-28

终于行了!
太感谢你了,jFresH_MaN大哥!!!!!
以后小妹有什么问题,可以请教你么?
回复
logicjavabean 2005-02-28
试试先
回复
jFresH_MaN 2005-02-28
首先你必须把地一个类和第二个类分在两个文件里面,不然jsp轧面就访问不到了
还有你的wjhsystem类里面的getter和setter方法定义不对
必须注意大写;修改成这样的:
setSystemid
getSystemid
然后最好把systemid和systembname设成private,这个符合规范
回复
logicjavabean 2005-02-28
to:jFresH_MaN大哥
javabean这样对么
---------------
package wjhstruts;
import java.sql.*;
import java.util.List;
import java.util.ArrayList;

class wjhsystem
{
public String systemid;
public String systemname;

public void setsystemid(String id)
{
this.systemid = id;
}
public void setsystemname(String name)
{
this.systemname = name;
}
public String getsystemid()
{
return this.systemid;
}
public String getsystemname()
{
return this.systemname;
}
}


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 systemid,systemname from Tsystem");
while(result.next())
{
wjhsystem b=new wjhsystem();
b.setsystemid(result.getString("systemid"));
b.setsystemname(result.getString("systemname"));
l.add(b);
}
Pcon.close();
result.close();
return l;
}
catch(Exception e)
{
return null;
}
}
}
--------------------------------------------------------------
但报错哦!
javax.servlet.ServletException: wjhstruts/wjhsystem
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
at org.apache.jsp.jsp1$jsp._jspService(jsp1$jsp.java:216)
...
回复
jFresH_MaN 2005-02-28
我已经给你写了2个了
我希望你能举2反n吧。。。
:(
回复
jFresH_MaN 2005-02-28
对用上面的这个类
package wjhstruts;
class Bean {
private String systemid;
private String systemname;

........//setter and getter;

}
然后
public List querydata()
{
try
{
List l=new ArrayList();
ResultSet result=con_statement().executeQuery("select systemid,systemname from Tsystem");
while(result.next()) {
Bean b=new Bean();
b.setSystemid(result.getString(1));
b.setSystemname(result.getString(2));
l.add(b);
}
return l;
}
catch(Exception e)
{
return null;
}
}
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>系统id</b></td><td><b>系统名称</b></td></tr>
<logic:iterate id="sysName" name="result">
<tr bgcolor="#cccccc"><td><bean:write name="sysName" property="systemid"/></td>
<td><bean:write name="sysName" property="systemName"/></td></tr>
</logic:iterate>
</table>

</center>
</body>
</html>
回复
losen 2005-02-28
class bean{
String systemid;
String systemname ;

bean(String id,string name){
this.systemid = id;
this.systemname = name;
}

//systemid and systemname's getter and setter method here...
.......
}
回复
logicjavabean 2005-02-28

小妹刚学java,麻烦你们把代码写出来好么?拜托了
回复
liaoxingya276 2005-02-28
新建一个class,
将systemid,systemname作为他的两个属性不就可以迭代了!
回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2005-02-28 02:14
社区公告
暂无公告