在做网站时,很多时候都需要在首页动态的读取数据库的内容显示在首页的某个位置,最基本的方法就是在首页的jsp页面里插入Java语句,我用的是hibernate据库映射,所以在页面中加入<% 中间写调用的操作数据库的方法 %>,在<% %>中会有一个变量保存从数据库读取的结果,在需要的地方调用此变量即可。
如:
新闻分类:<br/>
<%
List<NewCategory> list = new ArrayList?NewCategory>();
NewCategoryDAO cateDAO = new NewCategoryDAO();
list = cateDAO.findAll();
%>
<select name="type" οnchange="">
<%for(int i=0;i
< option value ="<%=list.get(i).getCategoryId() %>">%=list.get(i).getCategoryName()%></option>
<%} %>
</select> <br/><br/>
方法二:我不喜欢在jsp页面里写入Java代码,我喜欢把对数据库的操作写在servlet里面,所以如果想在首页就调用了servlet,需要一个过渡页面去触发servlet,
如:在index.jsp里
<body>
<script type="text/javascript">
window.location.href="MY" </script>
public class MYManageServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
NewCategoryDAO cateDAO = new NewCategoryDAO();
List<NewCategory> list = new ArrayList<NewCategory>();
list = cateDAO.findAll();
request.setAttribute("list",list);
request.getRequestDispatcher("my.jsp").forward(request, response);
}
}
然后在my.jsp里使用<:forEach>遍历list里面存储的内容。使用此方法每次运行网站时从index.jsp出发,自动跳转到MYservlet查询数据库然后跳转到my.jsp,所以显示的是my.jsp页面的内容。
如:
新闻分类:<br/>
<%
List<NewCategory> list = new ArrayList?NewCategory>();
NewCategoryDAO cateDAO = new NewCategoryDAO();
list = cateDAO.findAll();
%>
<select name="type" οnchange="">
<%for(int i=0;i
< option value ="<%=list.get(i).getCategoryId() %>">%=list.get(i).getCategoryName()%></option>
<%} %>
</select> <br/><br/>
方法二:我不喜欢在jsp页面里写入Java代码,我喜欢把对数据库的操作写在servlet里面,所以如果想在首页就调用了servlet,需要一个过渡页面去触发servlet,
如:在index.jsp里
<body>
<script type="text/javascript">
window.location.href="MY" </script>
</body>
public class MYManageServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
NewCategoryDAO cateDAO = new NewCategoryDAO();
List<NewCategory> list = new ArrayList<NewCategory>();
list = cateDAO.findAll();
request.setAttribute("list",list);
request.getRequestDispatcher("my.jsp").forward(request, response);
}
}
然后在my.jsp里使用<:forEach>遍历list里面存储的内容。使用此方法每次运行网站时从index.jsp出发,自动跳转到MYservlet查询数据库然后跳转到my.jsp,所以显示的是my.jsp页面的内容。