struts中 为什么jsp显示不了数据库的值(在线等)

郁闷研究了很长时间没有结果jsp显示的结果只能显示标题这是我java中代码publicclassMaterialActionextendsAction{publicAct... 郁闷 研究了很长时间没有结果 jsp显示的结果只能显示标题
这是我java中代码
public class MaterialAction extends Action{

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest arg2, HttpServletResponse arg3)
throws Exception {

MaterialForm from = (MaterialForm)form;

ContentPool Pool = new ContentPool();
int result = 0;
String result1 = null;
List list = new ArrayList();

try{
if(from.getMaterial().length()>0&&from.getRadio1()!=null){

String sql = "select material_id,material_name,material_unit from material where material_id ='"+from.getMaterial()+ "'";

ResultSet rs = Pool.executeQuery(sql);

if(rs.next()){
from.setMaterial_id(rs.getInt("material_id"));
from.setMaterial_name(rs.getString("material_name"));
from.setMaterial_unit(rs.getInt("material_unit"));;
list.add(from);
}
arg2.setAttribute("list", list);
}

}

catch(SQLException e){
e.printStackTrace();
}

return mapping.findForward("success");

}
}

这是我jsp中的接受代码

<hr>调査结果<br>
<table width="500" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="80"><font size="2">原料物価</font></td>
<td width="70"><font size="2">原料名称</font></td>
<td width="200"><font size="2">原料単位</font></td>
</tr>
<logic:iterate id="list" name="list" property="reqList" type="com.lenovo.shc.req.businesslogic.RequestInfo">
<tr>
<td><font size="2"><bean:write name="list" property="material_id"/></font></td>
<td><font size="2"><bean:write name="list" property="material_name"/></font></td>
<td><font size="2"><bean:write name="list" property="material_unit"/></font></td>
</tr>
</logic:iterate>
</table>

请高手帮我看看 谢谢
用struts写的 谢谢
展开
 我来答
嘉伟说智能
2009-10-13 · TA获得超过367个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:172万
展开全部
点击按钮将执行ChakanAction
3.ChakanAction
-----------------------------------------------
ArrayList al=new ArrayList();//新建一个ArrayList对象,用来封装rs对象
try {
Class.forName("com.mysql.jdbc.Driver");//连接数据库
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/ssj?user=root&password=root");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from test2");//sql查询语句
while(rs.next()){
news news1=new news(); //★重点,之前将此句放在try之前,导致错误。每次的查询都将新建一个news对象
String new_c=rs.getString("content");//rs.getString("表项名");
String new_t=rs.getString("type");
news1.setType(new_t);//实例化news对象
news1.setContent(new_c);
al.add(news1); //添加在ArrayList的尾部
}
request.getSession().setAttribute("news", al); //将ArrayList存放在request的HttpSession对象中,以便在JSP中使用
stmt.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mapping.findForward("chakan"); //转向自定义,struts-config.xml中映射路径
}
----------
4.相应的news.java
public class news {
private String type;
private String content;//与数据库中的表项对应,个数一样,再构造相应set/get方法
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
--------------------------------------------------------------------------------
以上方法使查询之后的RS集封装在一个Bean中,存放在session对象中,之后在foward页面用标签写出数据库的值
5.show.jsp
<logic:notEmpty name="news">
<logic:iterate id="news_id" name="news">
<bean:write name="news_id" property="type"/>==
<bean:write name="news_id" property="content"/><br>
</logic:iterate>
</logic:notEmpty>
判断news相应Bean是否为空,不为空,则循环输出其中内容

参考资料: http://hi.baidu.com/%CA%B7%CA%A5%BD%DC/blog/item/0ea91e582a0a63d99c820497.html

h0803152418
2009-10-15 · 超过28用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:49.9万
展开全部
struts它是基于mvc模式,你怎么把对数据库操作的都写到action里面去了呢?应该写到JavaBean里,写那个方法返回一个list对象,在jsp里面调用那个方法,然后request.setAttribute("list", list); 接着再里面先用<bean:logic>判断接着再用<bean:write>标签输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
james_allen
2009-10-13 · TA获得超过314个赞
知道小有建树答主
回答量:828
采纳率:0%
帮助的人:401万
展开全部
你怎么写得乱七八糟的? 都放到list里去了。在JSP里遍历出来不就行了?你是用struts做的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式