用struts怎么把数据库里的一张表的内容读到页面上呢?
有具体的jsp和java代码吗?(一个jsp和一个action)
追加40分。
Vector result =list();
request.setAttribute("Result", result);
request.setAttribute("ResultSize", String.valueOf(result.size()));
return mapping.findForward("successselect");
list();如下:
Vector v = new Vector();
try{
db.pstmt = db.con.prepareStatement("select * from login");
db.rs = db.pstmt.executeQuery();
while (db.rs.next())
{ v.addElement(db.rs.getString(1));}
}
catch(Exception ex)
{ ex.printStackTrace();
return null;
}
return v;
不知道对不对。。。
然后jsp该怎么写呢?用<logic:iterate>...
<logic:iterate id="???" name="Result">
id要写什么?是随便的吗?
ããjava 对读åæ°æ®åºçæ°æ®å¯ä»¥æ¾ç¤ºå¨ç½é¡µä¸ï¼å¯ä»¥å¯¹æ°æ®è¿è¡åç±»ï¼ä¿åå°å ¶å®æ°æ®åºæè æ¯æ件éçï¼å½ç¶åæå°±æ¯è¦ææ°æ®è¯»ååºæ¥
ãã以读åæ°æ®ä¸ºä¾ï¼
ãã解æï¼
ä¸é¢ä»£ç å°±æ¯é¦å 注å驱å¨ï¼ç¶åè¿è¡è¿æ¥
å¦æè¿æ¥æå
å°±å¯ä»¥ç¨selectè¯å¥è¿è¡æ§è¡å¹¶è¯»åäº
代码结构类似于:
<table>
<tr><td></td>……<tr>
<logic:iterate>
<tr><td></td>……</tr>
</logic:iterate>
</table>本回答被网友采纳
例:
<struts-config>
<data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings >
<action path="/test" type="test.struts.TestAction" >
<forward name="success" path="/test.jsp"></forward>
</action>
</action-mappings>
</struts-config>
类:
public class TestActionextends Action {
public TestAction() {
}
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionForward forward;
//这里写获得数据库中数据的代码和其他地方一样,可以网上查找
List dates=getDateInDatabases();
request.setAttribute("dates", dates);
forward=mapping.findForward("success");
return forward;
}
这时需要写一张test.jsp
把拿到的数据随便通过jsp的形式迭代出来即可
不知道明白没有
----------------
jsp2.0可以用el表达式
不过。jsp的最上面必须加上这个
<%@ taglib prefix="c" uri="" %>
<%@ page isELIgnored="false" %>
<c:forEach items="${dates}" var="date" varStatus="true">
<tr>
<td>${date.**} </td>
<td>${date.**} </td>
</tr>
</c:forEach>
用JDBC或Hibernate都行的
读出时候用2楼同学说的标签就行