JavaBean怎么实现JSP页面和代码分离
本篇内容介绍了“JavaBean怎么实现JSP页面和代码分离”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
站在用户的角度思考问题,与客户深入沟通,找到景洪网站设计与景洪网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟主机、企业邮箱。业务覆盖景洪地区。
在JSP编程中,Struts一般只是用来处理form和业务逻辑,很多时候我们还是需要使用 "<% java="" code="">" 这样的语句来操作一些输出。这样的方式和ASP很类似,非常不便于程序代码和页面设计维护,网上有很多种分离的解决方案,本文只是我个人推荐的一种简单方式。
首先看我们要进行分离操作的原文件
Test.jsp
>My JSP 'Test.jsp' starting pagetitle> head> <body> This is my JSP page. <br> Date : <%= new java.util.Date().toString() %> <br> File : <input value="" /> body> html></pre><p>这个JSP文件中包含了两段JSP代码,分别用来输出当前时间和文件路径。虽然简单,但很有代表性,进行文本输出和HTML控件赋值是我们在JSP文件中写Java代码最主要的原因。接下来,我们开始我们的分离过程。</p><p><strong>1. 编写JavaBean</strong></p><p>使用 JavaBean Property 来获取所需的日期和文件名。</p><p>DemoBean.java</p><pre>package com.mycompany; import java.util.Date; import javax.servlet.jsp.*; import javax.servlet.http.*; public class DemoBean { private PageContext pageContext; public void setPageContext(PageContext pageContext) { this.pageContext = pageContext; } public String getDate() { return new Date().toString(); } public String getFilename() { HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); return request.getServletPath(); } }</pre><p>在这个名叫 DemoBean 中,我们提供了setPageContext方法用来获取JSP页面的环境对象。有了该对象,我们就可以象在JSP页面中那样使用 request、response、session 进行相关的操作了。</p><p><strong>2. 创建包含文件</strong></p><p>TestInc.jsp</p><p><%><!--%--></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><%@ include file="TestInc.jsp" %> > <html> <head> <title>My JSP 'Test.jsp' starting pagetitle> head> <body> This is my JSP page. <br> Date : <jsp:getProperty name="demo" property="date" /> <br> File : <input value="<jsp:getProperty name="demo" property="filename" />"/> body> html></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>“JavaBean怎么实现JSP页面和代码分离”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!</p> <br> 文章名称:JavaBean怎么实现JSP页面和代码分离 <br> 本文URL:<a href="http://scpengxi.com/article/ghsgcs.html">http://scpengxi.com/article/ghsgcs.html</a> </div> </div> <div class="contentr fr"> <h3>其他资讯</h3> <ul> <li> <a href="/article/ddgcisi.html">linux解析路径命令行 linux怎么解析配置文件</a> </li><li> <a href="/article/ddgcidh.html">mysql怎么更新列值 mysql更新语句</a> </li><li> <a href="/article/ddgcicc.html">vb点虐 最后一行 vba单元格最后一行</a> </li><li> <a href="/article/ddgcsee.html">阿里云服务器唯一硬件 阿里云服务器唯一硬件是什么</a> </li><li> <a href="/article/ddgcish.html">计算税款java代码 java计算个人所得税代码</a> </li> </ul> </div> </div> </div> <!--底部--> <footer> <div class="foot"> <div class="container"> <h1>蓬溪谬誉钊凯建站您身边的网站制作服务商</h1> <div class="foot1"> <ul> <li> <dl><i class="iconfont"></i><b>地址ADDRESS</b></dl> <p>四川-成都青羊区太升南路288号<br> 锦天国际A座10楼 </p> </li> <li> <dl><i class="iconfont"></i><b>电话/TEL</b></dl> <p><a href="tel:02886922220" target="_blank">028 86922220</a> (工作日)<br> <a href="tel:18980820575" target="_blank">1898082 0575</a> ( 7x24 ) </p> </li> <li> <dl><i class="iconfont"></i><b>QQ咨询</b></dl> <p> 244261566 (售前)<br> 631063699 (售后) </p> </li> <li> <dl><i class="iconfont"></i><b>邮箱/E: mail</b></dl> <p> service@cdcxhl.com (业务)<br> hr@cdcxhl.com (求职) </p> </li> </ul> </div> <div class="link"> 友情链接: <a href="http://www.cqcxhl.com/service/ds.html" title="重庆电商网站定制" target="_blank">重庆电商网站定制</a> <a href="https://www.cdxwcx.com/city/jiangyou/" title="江油网站建设" target="_blank">江油网站建设</a> <a href="http://www.cdxwcx.cn/tuoguan/leshan.html" title="乐山托管服务器" target="_blank">乐山托管服务器</a> <a href="http://www.ndruijie.cn/" title="成都个体注册" target="_blank">成都个体注册</a> <a href="http://m.cdxwcx.com/ershu.html" title="成都二枢电信服务器托管" target="_blank">成都二枢电信服务器托管</a> <a href="http://www.36103.cn/" title="成都网站设计" target="_blank">成都网站设计</a> <a href="http://www.tyxishu.com/" title="香港四川國際商會" target="_blank">香港四川國際商會</a> <a href="http://www.csyarui.cn/" title="雕琢时光食品" target="_blank">雕琢时光食品</a> <a href="http://www.scdkfx.com/" title="scdkfx.com" target="_blank">scdkfx.com</a> <a href="https://www.cdcxhl.com/xiangyingshi.html" title="响应式网站设计" target="_blank">响应式网站设计</a> </div> </div> </div> <div class="copy container"> Copyright © 2025 All Rights Reserved. 成都谬誉钊凯广告有限公司 版权所有 <a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2024104775号-15</a> [原创设计,独立版权。未经许可.不得拷贝或镜像]<br> <a href="http://www.kswsj.cn/" target="_blank">网站营销推广</a> | <a href="https://www.cdcxhl.com/pinpai.html" target="_blank">品牌网站设计</a> | <a href="http://www.cdweb.net/" target="_blank">自适应网站制作</a> | <a href="http://cdkjz.cn/wangzhan/pinpai/" target="_blank">品牌网站制作</a> | <a href="http://chengdu.cdxwcx.cn/" target="_blank">成都网站制作</a> | <a href="https://www.cdcxhl.com/cloud/" target="_blank">云服务器</a> | <a href="https://www.cdcxhl.com/weihu/abazhou.html" target="_blank">蓬溪网站维护</a> | (蓬溪网站制作QQ : 631063699 )</div> </footer> <!--在线咨询--> <div class="fot"> <ul> <li> <a href="mqqwpa://im/chat?chat_type=wpa&uin=532337155&version=1&src_type=web&web_src=oicqzone.com" target="_blank"> <img src="/Public/Home/img/fot1.png" alt="建站咨询"> <p>在线咨询</p> </a> </li> <li> <a href="tel:18980820575" target="_blank"> <img src="/Public/Home/img/fot2.png" alt="建站电话"> <p>拨打电话</p> </a> </li> </ul> </div> </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>