知识大全 标签库完成复杂的后台处理功能的JSP示例

Posted

篇首语:善行无辙迹、善言无瑕谪。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 标签库完成复杂的后台处理功能的JSP示例相关的知识,希望对你有一定的参考价值。

标签库完成复杂的后台处理功能的JSP示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  JSTL标签是SUN带头与apache社区合作的产品 可惜从一出现就已经是一个过时的技术 SUN的软件架构师似乎缺乏从顾客角度考虑技术取向的能力 与微软相比差之千里 就标签技术而言 它的目的是令菜鸟中的菜鸟变得可以写JSP 还是令一般程序员写JSP显得更方便 更好管理?显然 SUN的那位笨蛋架构师没有想明白这个道理(越是看得多它的文档介始 越是觉得那个家伙是个大笨蛋) 把SUN数千名天才工程师的才智白白浪费了

  所有人都已经知道 JSP出现的目的就是为了让程序员更方便地写简单的servlet 复杂的多功能的servlet是不容易用JSP实现的 而JSP希望让菜鸟写java动态页面的目的并没有达到 这条 还不如ASP/PHP 在JSP中散布底层业务逻辑既不便于对象组织 也不但于代码管理 非常低效 这是发展出javaBean和标签技术的原因 而JSTL呢 它的基本客户逻辑竟然是为了帮助使用者更方便地把底层代码散布在JSP上!?包括数据库连接?!所以这东西是一个新的技术实现落后目标的产品 面对市场需求整整慢了一拍

  唯一有点价值的是它的循环逻辑 这条还是很有用的 只不过能够实现的不止它一个 struts logic标签就是很好用的一种 而且不用指向什么的 事实上JSTL能够提供的struts:logic也能够提供 实际上struts几个标签库中也就logi 有点价值 bean也可以 其他的是纯粹和FormBean为核心的MVC设想框架提供的 即使这样 就实用性而言 strutslib仍比sun实用得多

  struts标签库不能很好地面向数据对象 这是它的不足 hanva标签就是为了补充这个不足 结合struts的logic库 使用hanva标签可以达到在jsp中声明和接收变量 可以实现多种逻辑 可以直接从底层获得持久性非持外性的数据对象 处理并输出——一个程序大致也就只有这些东西做的 特殊的东西再特殊处理 直接完全使用标签调用下层服务daemon程序完成绝大部分功能 已经可以做到了

  下面的论坛示例删除程序是这样的一个功能 可以处理任何的实现了hanvaDAO接口规范的表数据的删除 包括对其相关数据记录的同步处理 它接收一个对象类型(ent) 及ID 判断这个对象(行记录)是否存在 然后判断它的sourceid和id是否一致(是主贴还是跟贴) 如果是主贴 就把它的从贴一起删除 否则就只删除当前贴 然后返回原来调用的一页 如果出错 就转向到errors jsp页 显示出错信息

  <entity:present ent="$param ent" oid="$param oid" id="thent" nexto="$header referer">    <% 如果记录存在就继承内嵌逻辑 把该记录定为ident名 %>    <% 判断sourcid与id是否一致 %>   <logic:equal name=thent value="$thent sourceid" property="id"> <% 取所有主从贴 集合定名为theobjs %>    <entity:entities ent="$param ent" id="theobjs" qstr="sourceid=$sourceid"> <% 迭代集合内容 单个取名为theobj %>     <logic:iterate id="theobj" name=theobjs> <% 删除该对象 %>      <cmd:delete ent="$param ent" target="$theobj"/>     </logic:iterate>    </entity:entities>   </logic:equal>   <logic:notEqual name=thent value="$thent sourceid" property="id"> <% 单个从贴 清除该对象 %>    <cmd:delete ent="$param ent" target="$thent"/>   </logic:notEqual>  </entity:present>

  标签结束 根据nexto转向到调用者 这样段小代码实际上就扮演了一个MVC中的c角色 如果需要输出断点 可以调用hanva:log 把实时内容输出到log日志中 一个比较复杂的功能就此完成了 全程实际上只是进行了一次或两次数据库的访问 如果是多个从贴 需要获得它的串 这是可能的第二次 注意<entity:entities>标签 它输入一个条件 也可以输入fields选项 得到一个ArrayList串(没有同步要求就不用Vector) 如果不是为了翻页 它可以代替hanva:list 使用上也更方便 没有需要先设定一个dao list对象

  我认为这才是标签技术的真正用法 帮助程序员在界面清晰明确地调用后台的处理程序 方便面向对象的业务逻辑的建立 方便隐藏非表达层的逻辑;而不是变成把页面搞得更复杂 堆上更多难懂代码的又一套新方法

  相对而言 tags文件标签技术显得更现实一点 如同jsp是方便菜鸟(仍是程序员)写简单的servlet一样 tags标签文件是方便看到Class就发抖的菜鸟象写jspjavalet一样写标签 显然 是最简单的SimpleTagSupport的变种 只有它才有一个体内容 也同样 充分利用Class类结构的编码技术在这里没有办法实现

cha138/Article/program/Java/JSP/201311/20163

相关参考

知识大全 JAVA程序员应该了解的10个JSP标签库

JAVA程序员应该了解的10个JSP标签库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 用定制标签库和配置文件实现对JSP页面元素的访问控制

用定制标签库和配置文件实现对JSP页面元素的访问控制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 jsp连接MySQL实现插入insert操作功能示例

jsp连接MySQL实现插入insert操作功能示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 linux生成(加载)动态库静态库和加载示例方法

  动态库的生成  /*mysumc*/    复制代码代码如下:  #include<stdioh>#includesrch  intsum(intaintb)return(a+b);&

知识大全 添加后台list给前台select标签赋值简单实现

本文为大家介绍下通过添加后台list怎么实现给前台select标签赋值具体代码如下感兴趣的朋友可以参考下哈 复制代码代码如下:$ajax(url:"user!findUserListacti

知识大全 Bean标签库

Struts1.x系列教程(6):Bean标签库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 JSP脚本元素和注释复习总结示例

JSP脚本元素和注释复习总结示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天复习了JSP

知识大全 JSP结合JavaBean生成静态页面示例

JSP结合JavaBean生成静态页面示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishi

知识大全 JSP自定义标签实现数据字典

JSP自定义标签实现数据字典  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  关于JSP标签的好处

知识大全 JSP的自定义标签

JSP的自定义标签  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一基本概念  标签(Tag):