在新闻系统中,一般的首页都只是显示着相关新闻的标题,点击标题后将调出新闻表中的新闻内容并做另一个页面显示出来。
那么怎样做到以少量智能的代码实现呢?
一般比较笨的做法是用select * form table where id = '2';然后内容调出
但我们为了更加方便以后的新闻更新和曾多,我们将用一个循环来解决。最初的想法是能点击主页的相关标题后把其id传给待处理的jsp页面去调出相应的新闻内容。事实上也是要这样做
那么在主页中的标题jsp代码主要是:
<ul>
<% while(gigu.next()){
id = gigu.getString(1);
System.out.println(id);
%> <li class="word"><a href="historyShow1.jsp?id=<%=gigu.getString(1)%>" target="_blank" >
<%=getStr(gigu.getString(2))%> </a></li>
<%
}
%>
其中在点击标题的链接里这句a href="historyShow1.jsp?id=<%=gigu.getString(1)%>" 很关键,它把相因的id POST给处理程序了。gigu.getString(1)这个是拿出id。
而相对应的处理程序是(也就是显示页面):
String id =(String)request.getParameter("id");
String sql="select id,title,text from history where id = '"+id+"'";
以上两个 语句是接受从主页POST过来的id号码然后根据所接受的id号码调出相因的内容,代码如下:
<div id="news">
<%
if(gigu.next()){
%>
<h1><%=getStr(gigu.getString(2))%></h1>
<p>
<%=getStr(gigu.getString(3))%>
</p>
<%
}
%>
</div>
ok就这样,搞定。细节问题以后会修改。