网站建设资讯

NEWS

网站建设资讯

JavaBean实现JSP页面和代码分离

在JSP编程中,Struts一般只是用来处理form和业务逻辑,很多时候我们还是需要使用 "<% java code %>" 这样的语句来操作一些输出。这样的方式和ASP很类似,非常不便于程序代码和页面设计维护,网上有很多种分离的解决方案,本文只是我个人推荐的一种简单方式。

首先看我们要进行分离操作的原文件

Test.jsp

 
 
 
  1.  
  2.  
  3.  
  4.    
  5.  
  6.     My JSP 'Test.jsp' starting page title> </li> <li> </li> <li>   head> </li> <li> </li> <li>   </li> <li> </li> <li>  <body> </li> <li> </li> <li>    This is my JSP page. <br> </li> <li> </li> <li>    Date : <%= new java.util.Date().toString() %> <br> </li> <li> </li> <li>    File : <input value="<%= request.getServletPath() %>" />   </li> <li> </li> <li>   body> </li> <li> </li> <li> html> </li> </ol></pre><p>这个JSP文件中包含了两段JSP代码,分别用来输出当前时间和文件路径。虽然简单,但很有代表性,进行文本输出和HTML控件赋值是我们在JSP文件中写Java代码最主要的原因。接下来,我们开始我们的分离过程。</p><p><strong>1. 编写JavaBean</strong></p><p>使用 JavaBean Property 来获取所需的日期和文件名。</p><p>DemoBean.java </p> <pre> <ol> <li>package com.mycompany;  </li> <li> </li> <li>import java.util.Date;  </li> <li> </li> <li>import javax.servlet.jsp.*;  </li> <li> </li> <li>import javax.servlet.http.*;  </li> <li> </li> <li>public class DemoBean {  </li> <li> </li> <li>  private PageContext pageContext;  </li> <li> </li> <li>    </li> <li> </li> <li>  public void setPageContext(PageContext pageContext) {  </li> <li> </li> <li>    this.pageContext = pageContext;  </li> <li> </li> <li>  }  </li> <li> </li> <li>    </li> <li> </li> <li>  public String getDate() {  </li> <li> </li> <li>    return new Date().toString();  </li> <li> </li> <li>  }  </li> <li> </li> <li>    </li> <li> </li> <li>  public String getFilename() {  </li> <li> </li> <li>    HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();  </li> <li> </li> <li>    return request.getServletPath();  </li> <li> </li> <li>  }  </li> <li> </li> <li>} </li> </ol></pre><p>在这个名叫 DemoBean 中,我们提供了setPageContext方法用来获取JSP页面的环境对象。有了该对象,我们就可以象在JSP页面中那样使用 request、response、session 进行相关的操作了。</p><p><strong>2. 创建包含文件</strong></p><p>TestInc.jsp </p></p><p><% demo.setPageContext(pageContext); %></p><p>这是个简单至极的JSP文件,***行代码是声明使用JavaBean的语句,第二行代码调用了DemoBean.setPageContext()方法将当前JSP页面的pageContext对象传递到demo对象中,这下你知道DemoBean是如何获得环境对象的吧。至于为什么需要使用这个jsp文件来达到使用JavaBean实现JSP页面的目的?请继续往下看。</p><p><strong>3. 修改原JSP文件</strong></p><p>Test.jsp </p> <pre> <ol> <li><%@ include file="TestInc.jsp" %> </li> <li> </li> <li>> </li> <li> </li> <li><html> </li> <li> </li> <li>  <head> </li> <li> </li> <li>    <title>My JSP 'Test.jsp' starting page title> </li> <li> </li> <li>   head> </li> <li> </li> <li>  <body> </li> <li> </li> <li>    This is my JSP page. <br> </li> <li> </li> <li>    Date : <jsp:getProperty name="demo" property="date" /> <br> </li> <li> </li> <li>    File : <input value="<jsp:getProperty name="demo" property="filename" />"/>   </li> <li> </li> <li>   body> </li> <li> </li> <li> html> </li> </ol></pre><p>请注意修改后的JSP文件***行,我们使用了一个include语句,将我们刚才创建的 TestInc.jsp 文件包含了进来。下面有关日期和文件名的语句也是使用JavaBean的标准语法。运行一下,看看是不是和原来的Test.jsp一样。</p><p>include 指令所包含的 jsp 文件,会在***次运行时和原文件合并,被编译成一个完整的 servlet。</p><p>jsp:getProperty 的 property 值从 "getFilename" 变成了 "filename",一定要注意,很多人正在为这个郁闷着呢。</p><p>好了,我们总结一下这种使用JavaBean实现JSP页面方式的好处:</p><p>1. 修改后的JSP文件不再包含java代码,JavaBean Class更利于程序代码的维护。</p><p>2. 程序开发人员使用简单的空白页就可以进行开发,待页面设计人员提交目标页后,只需简单的编辑即可完成替换。</p><p>3. html代码变得非常干净,页面设计人员修改页面文件时,不用担心误删除程序代码了。</p><p>4. 使用INC文件,可以包含多个JavaBean的声明,利于将不同的任务分解成多个JavaBean,多个程序员可以独立、不受干扰地工作。</p><p>5. 开发人员甚至可以直接在该包含文件内部直接创建 Java 方法,就像你原来所熟悉的那样。</p><p>【编辑推荐】</p> <ol> <li>JavaBean与MBean详解</li> <li>Servlet与Javabean配置</li> <li>JavaBean使用技巧 </li> <li>JavaBean实现多文件上传的两种方法</li> <li>JavaBean与MBean详解 </li> </ol> <br> 网站题目:JavaBean实现JSP页面和代码分离 <br> 本文地址:<a href="http://www.cdysf.com/article/dhgdohd.html">http://www.cdysf.com/article/dhgdohd.html</a> </div> </div> <div class="other"> <h3>其他资讯</h3> <ul> <li> <a href="/article/dhcjddp.html">抖音已售是月销量吗</a> </li><li> <a href="/article/dhcjogh.html">通过熟练掌握Redis数据库,提高工作效率(熟悉redis数据库)</a> </li><li> <a href="/article/dhcjddh.html">安卓与Linux:助力智能手机时代(安卓与linux)</a> </li><li> <a href="/article/dhcjoig.html">Eclipse.ini参数简介</a> </li><li> <a href="/article/dhcjddi.html">服务器虚拟化多虚一</a> </li> </ul> </div> </div> </div> <footer> <div class="footop"> <div class="wrap"> <div class="bottomrpw"> <div class="erp arp"> <dl> <dt>ADDRESS</dt> <dd class="address"> <i class="icon"></i> <span class="word">成都市青羊区锦天国际1号楼1002室</span> </dd> </dl> </div> <div class="erp arp"> <dl> <dt>TEL</dt> <dd class="phonum"> <i class="icon"></i> <span class="word en"> <a href="tel:18980820575">18980820575</a> </span> </dd> </dl> </div> <div class="erp crp"> <dl> <dt>OTHER</dt> <dd> <a class="word get-quote">获得报价与方案</a> </dd> <dd> <a href="#" target="_blank" rel='nofollow' class="word" title="付款方式">付款方式</a> </dd> </dl> </div> <div class="erp code-rp"> <dl> <dt>Wechat</dt> <dd class="code-wrap"> <span class="code"> <img src="/Public/Home/images/qr-code.jpg" alt="创帆新辰微信公众号" /> </span> </dd> </dl> </div> </div> </div> </div> <div class="footerbot"> <div class="friendlinks"> <div class="wrap"> <ul class="rpl"> <li><a href="https://www.cdcxhl.com/xiyun.html" title="移动服务器托管" target="_blank">移动服务器托管</a></li><li><a href="http://www.fzjierui.cn/" title="fzjierui.cn" target="_blank">fzjierui.cn</a></li><li><a href="http://www.gdlewan.com/" title="书籍刊物设计" target="_blank">书籍刊物设计</a></li><li><a href="http://www.dywxfdj.com/" title="大英柴油发电机维修" target="_blank">大英柴油发电机维修</a></li><li><a href="https://www.cdcxhl.com/quanwang.html" title="成都全网营销推广" target="_blank">成都全网营销推广</a></li><li><a href="http://www.cgzwb.cn/" title="户外太阳伞大伞" target="_blank">户外太阳伞大伞</a></li><li><a href="http://www.ghfdjby.com/" title="广汉发电机保养公司" target="_blank">广汉发电机保养公司</a></li><li><a href="http://www.lnruijie.cn/" title="成都定制无纺布" target="_blank">成都定制无纺布</a></li><li><a href="http://www.ghjinhua.cn/" title="广汉锦华橡塑" target="_blank">广汉锦华橡塑</a></li><li><a href="http://www.qjmix.com/" title="大悟县网站制作" target="_blank">大悟县网站制作</a></li> </ul> </div> </div> <div class="wrap"> <div class="copyright"> <span class="en">©2007-2025</span> 青羊区创帆新辰信息咨询服务部(个体工商户) <span class="en">ALL RIGHTS RESERVED.</span> <a rel="nofollow" href="http://www.miitbeian.gov.cn" target="_blank">蜀ICP备2025128472号</a> </div> </div> </div> </footer> <div class="fcwrap"> <ul class="rpl clearfix"> <li class="phone"> <a rel="nofollow" target="_blank" href="tel:18980820575"> <i class="icon"></i> <strong>18980820575</strong> </a> </li> <li class="qq"> <a rel="nofollow" target="_blank" href="https://wpa.qq.com/msgrd?v=1&uin=244261566&site=qq&menu=yes"> <i class="icon"></i> <strong>244261566</strong> </a> </li> <li class="back-top"> <a href="javascript:void(0)" rel="nofollow" class="back-to-top"> <i class="icon"></i> <strong>回到顶部</strong> </a> </li> </ul> </div> <!--nav--> <div class="n-Wrap"> <div class="navBar visble show"> <div class="barlogo"> <a href="/" rel="nofollow"> <img src="/Public/Home/images/logo1.png" alt="成都做网站" /> <img src="/Public/Home/images/logo2.png" alt="成都网站设计" /> </a> </div> <div class="bmenu"> <i class="bar-top"><span></span></i> <i class="bar-cen"><span></span></i> <i class="bar-bom"><span></span></i> <i class="bar-left"><span></span></i> <i class="bar-right"><span></span></i> </div> </div> <section class="fixmenu"> <div class="close-bar"> <i class="bar-left"><span></span></i> <i class="bar-right"><span></span></i> </div> <nav class="smph"> <ul> <li class="index-hrefs on"><a href="http://www.cdysf.com/"><font>首页</font></a></li> <li><a href="/about/" rel="nofollow"><font>关于我们</font></a></li> <li><a href="/service/" rel="nofollow"><font>网站建设</font></a></li> <li><a href="/case/" rel="nofollow"><font>网站案例</font></a></li> <li><a href="/solve/" rel="nofollow"><font>网站方案</font></a></li> <li><a href="/news/" rel="nofollow"><font>建站知识</font></a></li> <li><a href="/contact/" rel="nofollow"><font>联系创帆新辰</font></a></li> </ul> <div class="pwrap"> <span class="label">建站热线</font> <strong class="phone"><a href="tel:18980820575">18980820575</a></strong> </div> </nav> </section> </div> <!--end nav--> <script src="/Public/Home/js/hotcss.js"></script> <script type="text/javascript" src="/Public/Home/js/su_new.js"></script> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>