日期:2014-05-17  浏览次数:20650 次

JSP如何使查询的关键字在查询结果的链接中高亮显示??
Java code
<%@page language="java" import="java.util.*,bbs.*,java.sql.*"%>
<%@page pageEncoding="UTF-8"%>
<%
    request.setCharacterEncoding("UTF-8");
    String value = request.getParameter("title");
%>
<%
    List<Article> articles = new ArrayList<Article>();
    Connection conn = DB.getConn();
    Statement stmt = DB.createStmt(conn);
    //System.out.println(value);
    String sql = "select * from article where title like '%"+value+"%'";
    //System.out.println(sql);
    ResultSet rs = DB.executeQuery(stmt, sql);
    String str ="";
    while (rs.next()) {
    Article a = new Article();
        a.initFromRs(rs);
        articles.add(a);
    }
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>搜索结果</title>
    </head>
    搜索结果:<br>
<%
    for (Iterator<Article> it = articles.iterator(); it.hasNext();) {
    Article a = it.next();
%>
    <body>
        <a href="articleDetailFlat.jsp?id=<%=a.getId()%>"><%=a.getTitle()%></a>
        <br>
    </body>
    <%} %>
</html>

这样能够查出title中包含有关键字的所有链接,如何使链接中的关键字高亮显示??
还有查询的结果里,如果查询的title是帖子里的第一条则能全部显示剩下的所有子贴,可如果不是第一条而是中间的某一条子贴的title则一条也显示不出来,这是哪的问题??


------解决方案--------------------
问题1 
把你的a.getTitle()分解显示,比如
HTML code
<% int index = a.getTile().indexOf(value); %> 
<a href="articleDetailFlat.jsp?id=<%=a.getId()%>">
<%=a.getTitle().substring(0, index)%><font color=xxx><%=value></font><%=a.getTitle().substring(index+1)
</a>