六、jsp:useBean

一、问题引入

在上一节做完之后,页面看上去有点乱,可读性查,也不易于维护,其原因是html标签和java代码全混在一起了,能否进行改进?

为了解决这个问题,可以使用JSP动作标签

二、JSP动作标签

通过JSP动作标签,程序员可以在JSP页面中把页面的显示功能部分封装起来,使整个页面更简洁和易于维护。

2.1<jsp:useBean>

装载一个将在JSP页面中使用JavaBean,发挥Java组件重用的优势。
语法:

<jsp:useBean id="name" class="package.class" scope="scope">

id:JavaBean的引用名
class:JavaBean的类
scope:JavaBean的范围
就比如之前jsp页面中的:

  NewsService newsService = new NewsServiceImpl();

可以写成:

<jsp:useBean id="newsService" class="cn.kgc.Service.implement.NewsServiceImpl"></jsp:useBean>

注:
1、id就是创建的对象名字,在页面中如果想用这个对象了,就直接引用这个对象名字就行。
2、class是类,前面的id就是这个类的对象。但是这个地方不要直接去写类,要写相对路径。
3、这样做相当于把这个对象声明为这个页面的全局变量了。
整体代码如下:

<%@page import="cn.kgc.pojo.News"%>
<%@page import="java.util.List"%>
<%@page import="cn.kgc.Service.implement.NewsServiceImpl"%>
<%@page import="cn.kgc.Service.NewsService"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<jsp:useBean id="newsService" class="cn.kgc.Service.implement.NewsServiceImpl"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>无标题文档</title>
<style type="text/css">
<!--

-->
</style>
<script>
    function addNews(){
        window.location="newsDetailCreateSimple.jsp";
    }
</script>
</head>

<body>

<!--主体-->
    <div class="main-content-right">
        <!--即时新闻-->
        <div class="main-text-box">
            <div class="main-text-box-tbg">
                <div class="main-text-box-bbg">
                    <form name ="searchForm" id="searchForm" action="/news/jsp/admin/newsDetailList.jsp" method="post">
                      <div>
                        新闻分类:
                            <select name="categoryId">
                                <option value="0">全部</option>
                                
                                    <option value='1' >国内</option>
                                
                                    <option value='2' >国际</option>
                                
                                    <option value='3' >娱乐</option>
                                
                                    <option value='4' >军事</option>
                                
                                    <option value='5' >财经</option>
                                
                                    <option value='6' >天气</option>
                                
                            </select>
                        新闻标题<input type="text" name="title" id="title" value=''/>
                            <button type="submit" class="page-btn">GO</button>
                            <button type="button" onclick="addNews();" class="page-btn">增加</button>
                            <input type="hidden" name="currentPageNo" value="1"/>
                            <input type="hidden" name="pageSize" value="10"/>
                            <input type="hidden" name="totalPageCount" value="2"/>
            </div>
            </form>
            <table cellpadding="1" cellspacing="1" class="admin-list">
                <thead >
                    <tr class="admin-list-head">
                        <th>新闻标题</th>
                        <th>作者</th>
                        <th>时间</th>
                        <th>操作</th>
                    </tr>
                </thead>
                <tbody>
                    <%
                      
                        List<News> newsList = newsService.getAllNews();
                        int i= 0;
                        for(News news:newsList){
                            i++;
                     %>
                    <tr <%if(i%2==0){ %>class="admin-list-td-h2"<%} %>>
                        <td><a href='newsDetailView.jsp?id=<%=news.getId()%>'><%=news.getTitle() %></a></td>
                        <td><%=news.getAuthor() %></td>
                        <td><%=news.getCreateDate() %></td>
                        <td><a href='adminNewsCreate.jsp?id=2'>修改</a>
                            <a href="javascript:if(confirm('确认是否删除此新闻?')) location='adminNewsDel.jsp?id=2'">删除</a>
                        </td>
                    </tr> 
                    <%} %>
                </tbody>
            </table>
           <div class="page-bar">
            <ul class="page-num-ul clearfix">
                <li>共7条记录&nbsp;&nbsp; 1/2页</li>
                <a href="javascript:page_nav(document.forms[0],2);">下一页</a>
                <a href="javascript:page_nav(document.forms[0],2);">最后一页</a>&nbsp;&nbsp;
            </ul>
         <span class="page-go-form"><label>跳转至</label>
         <input type="text" name="inputPage" id="inputPage" class="page-key" />页
         <button type="button" class="page-btn" onClick='jump_to(document.forms[0],document.getElementById("inputPage").value)'>GO</button>
        </span>
        </div> 
        </div>
       </div>
   </div>
   </div>
</body></html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,640评论 25 708
  • 《浮生二日》(四首) 《黄鹤楼》 昔人已乘黄鹤去 一柄烂柯的工夫 我就来了 沿途不见鹤影 也不闻唳声 太白搁下他的...
    周幼安阅读 421评论 3 12
  • 它是匆忙的,甚至是慌张的。 从黎明到黄昏,再从黄昏到黎明。 路过屋檐上的瓦片。 路过墙头上的野草。 它是悄无声息的...
    姝瑾儿阅读 608评论 55 85
  • 事实上今天不是在新公司的第一天,而是真正的参与工作的第一天。今天有太多的思考,让我有了再次写日志的冲动,希望自己可...
    TC_25fe阅读 469评论 0 0