在新闻系统中,一般的首页都只是显示着相关新闻的标题,点击标题后将调出新闻表中的新闻内容并做另一个页面显示出来。
那么怎样做到以少量智能的代码实现呢?
一般比较笨的做法是用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就这样,搞定。细节问题以后会修改。