jsp的设计模式基础:view helper模式

ViewHelper的解释(NineOldAndroids开源项目中某个工具具体讲解) 关于 ViewHelper.setTranslationY(view,float)函数的解释。这里的view 是您要移动哪个View 就是哪个东西你要将他在界面上进行活动呢? float是指你移动的距离 ,(假定参考坐标 最开始的位置中心位置为0)。那么ViewHelper.setTranslationY(view,100)就是把view向下(比最原始的位置)移动100,那么120那 130那 140 150呢 就是比最原始的位置多10、多20、多30、多40。。。。所以ViewHelper.setTranslationX 还是ViewHelper.setTranslationY都可以实现了。还是上源代码吧。要不你们看不到效果是不是要骂我了。嘎嘎。 by:lixiaodoaaaa 立即下载

view helper模式告诉我们,我们能使用helpers来使得在一个应用中,model数据能够适应表现层的需要。典型的,表现层一般都包括一些jsp页面。这些页面由一些用来给用户显示内容的html和图片组成。然而,当这些页面需要显示一些存储在model上的动态信息的时候,这里有一个问题出现了。你希望能够避免在页面上为了显示那些动态数据而使用嵌入的java代码,你就得使用一些helper来帮助你实现上述的功能。要抛弃那些在控制器servlet里将一些model数据作为一个属性存储在request里面的想法。在一个页面里,你要获取model数据,有三种选择。你可以以jsp脚本的形式嵌入java代码;你也可以使用el;或者你也可以使用一个helper帮你取得数据。根据将表现层和商业逻辑分离的原则,使用一些helper来帮助我们使得数据适应表现层的要求比将表现层代码和java代码混在一起有意义(参见图1)。图1你可以设想,通过使用简单易用的helper代替java代码,页面设计人员开发表现层变得简单多了。当然,前提是开发人员发布了一个helper目录并且详细描述了这些helper怎么使用;因为这样开发人员才会使用那些helper。然而,如果在开发人员能够提供使helper运行起来的model数据之前,页面设计人员就已经设计了页面,就又有新的问题。解决这个问题的一个有用的技巧是在helper里设置一些假数据以便在没有model数据的时候显示;还有一个可以替代的方法是在model里设置一些能使helper运行的假数据。无论哪种方法,页面设计人员都不会在等待开发人员的时候闲起来。使用helper有如下优点:。表现层的组件是标准化的,为应用提供了统一的look和feel。java代码从页面设计人员那里被抽离,使得他们有了易用的helper来访问model。如果model还不存在的话,你可以创建一些helper来显示一些假数据。这样,不管应用程序的准备如何,页面设计人员都可以进行他们的设计工作。。helper作为业务数据和表现层的中介,它可以把两者清晰的分离开来。 实现javabeans helper的策略在为jsp页面开发helper的时候,你有两种选择。你可以使用javabeans或者定制标签,具体选择哪一种取决于你在helper中所要处理的数据。一般来说,javabeans适合你处理单个的数据,而定制标签却更适合使用在那些处理一系列数据的场合。然而,需要着重指出的是,你可以用任意一种方法来处理两种类型的数据。实现view helper模式的策略你可以在一个jsp页面里用javabeans来实现helper。当处理和格式化单一的文本数据时,javabeans模式的helper非常简单易用。那些内置的jsp标签会让你非常简单和直观的使用javabeans。对javabeans的使用包括简单的声明,后面就可以引用该给定的标签了,就像下面那样:hello ,welcome to acme products' o­nline store!javabeans能做的事可不仅仅是简单的将数据项从model里取出来,它还能格式化制定的数据项、进行计算或产生大块的数据项。如你所想,它非常适合使用内嵌的jsp标签来获取数据项。但是如果你使用javabeans太多,那么你的jsp页面将因为太多的java代码而变得混乱不堪,不管你使用多少el。在这种情况下,你应该把所有的附加行为封装到一个制定标签里面去。 实现定制标签helper的策略为了对付复杂model的转换,定制标签能够嵌入java代码,操作好几个有关数据的算子,只提供简单的标签给页面设计者使用。为了使用定制标签,你必须写一个继承了tagsupport或bodytagsupport的类。你可以在标签库描述符里声明你的类,如下所示:listing 1. an example tld 1.02.0mytags tag library to support the examples in chapter 8 mytag jspbook.ch08.mytag jsp myattribute yes 通过在jsp页面里首先使用taglib指示符声明以后,这个定制标签就能够在页面里被引用,如下所示: body text... 我更倾向于使用定制标签作为view helper的实现方式。因为当它们集中存储在应用服务器的时候,它们给了开发人员更多的访问servlet上下文的权限并且提供了更多的性能优点。另一个我倾向于使用定制标签的原因是它更利于非java开发人员直观的使用,它们的格式更像标准的html标签,这些hmtl标签对于我们大多数的人来说再熟悉不过。最后,一旦这些定制标签经过了你的开发和测试,你就可以在你的整个项目的所有jsp页面使用它们。一旦这些定制标签被设计得更加通用,那么你可以将它们打包起来在所有的项目中使用到它们。 实现model分离的策略不管是使用定制标签或者javabeans,提供独立的helper是非常有用的,这些独立的helper能够在没有model数据存在的时候提供一系列的假数据来代替model数据。这使得页面开发人员可以独立于开发团队而完成它们的任务。为了实现这种策略,helper需要去检测model的存在,以便使用一个真实的model数据或者使用一个静态的假model数据(如下图)。按照这个思路,我们需要创建一个静态的model来精确复制真实的model。不是所有的时候都能让这两者保持同步。一个在某些时候更完美的替代方法是,让开发人员创造一些假数据到model里头,以便页面开发人员能够当作真实model已经存在一样;同时也确保了他们自己工作的那个model永远是正确的。

     (责任编辑:包春林)


ViewHelper依赖包nineoldandroids-2.4.0 安卓界面组件移动软件实现工具,实现对不同组件的不同移动-android tool for moving views 立即下载

相关推荐

原理图分享二(信盈达CorexM4核心板STM32F407VGT6)

这是第二张板子的原理图分享,这也是当时大学里学习的一个板子。 原理图分享二(信盈达CorexM4核心板STM32F407VGT6)

让学习成为一种习惯 6901

Three.js中视角指示器viewHelper使用问题

在使用Three.js中的viewHelper时,会发现明明已经引入了相关方法,也渲染了,但是场景中却没有出现视角指示器。

maginexxx的博客 2529

抖音用户评论和ID的采集方法

随着5G时代的普及,各大运营商的套餐纷纷推出,使得流量成本进一步降低。同时5G线路高宽带、低延迟的技术特性和手机普及,让视频用户访问量快速增加。 由于大量的视频工具和拍摄APP的提供,让短视频的拍摄、制作包括发行都变得更加简单便捷,越来越多的普通人可以投入视频创作,创造了更丰富的互联网内容,视频作者从视频推广中能获取粉丝和推广收益。 目前抖音就是目前最重要的短视频平台之一,要及时获取上面的用户评论和ID,需要结合爬虫代理实现采集方案,下面的代码就能快速采集相关信息: package htmlunit; i

ssbt_2020的博客 6792

Cairngorm中Command如何与View交互

通过对Cairngorm,我们都了解,View接受用户的动作,并且触发事件,触发事件被控制器捕获,通过执行了相应的命令来执行操作,在命令操作中,我们可以选择使用服务的代理来访问远程数据,并且更新本地模型以达到是的模型绑定的View元素发生变化; 但是,然后,是不是所有的页面元素都能通过绑定模型来实现动态变化呢?不见得,那么,我们如何在Command访问View元素并且操控他呢?我们就必须借

浮白 1781

OpenCV图像去畸变实战指南:从原理到参数调优(附完整代码与效果对比)

本文详细解析了OpenCV图像去畸变的原理与实战方法,对比了三种核心函数(标准、鱼眼、全景模型)的适用场景与效果。重点提供了完整的代码示例,并深入探讨了alpha、焦距、中心点等关键参数的调优技巧,以帮助开发者有效矫正镜头畸变,提升计算机视觉任务精度。

life6的博客 554

告别OFDM卡顿:用MATLAB手把手仿真AFDM波形,搞定高铁、无人机通信的时变信道难题

本文详细介绍了如何使用MATLAB仿真AFDM波形,解决高铁和无人机通信中的时变信道难题。通过仿射变换技术,AFDM在多普勒频移严重的场景下表现优异,显著提升通信质量。文章包含参数配置、波形生成、性能对比等实战内容,适合通信工程师和研究人员参考。

weixin_27014595的博客 321

弹性滑动(二)--使用ViewHelper

使用nineoldandroids开源动画库. 通过getRawX和getRawY获得手指当前坐标A(x,y). 与上一次移动后的控件坐标B(mLastX,mLastY)相减得到偏移量坐标C(deltaX,deltaY),B初始化为(0,0). 使用ViewHelper类将控件进行动画偏移,偏移C. 将手指坐标即当前坐标A赋值给B. 循环上述操作. 例子:将button随手指移动而移动自定义butt

齐天的博客 1522

termux 安装 rockylinux

往找最新的文件目录,选择ARM版本的image。或者直接查看目录或者国内阿里云镜像,按照cpu架构(安卓9手机一般是aarch64arm最新架构),获取镜像地址,以及checksum里的SHA256信息更新到以下rocky9.sh脚本,如果不需要直接使用即可。

欢迎来到别往的博客 984

NineOldAndroids动画兼容库的使用-ViewHelper

功能介绍: NineOldAndroids是github上的一个开源项目,其作用是为了在低版本android上(API11以下)使用属性动画。它的原理其实也很简单,主要就是判断当前sdk版本,如果大于API11,那么就调用官方的API,否则自己实现动画效果。另外,在API使用方面,它与官方的属性动画基本一致。比如ObjectAnimator、ValueAnimator等等。一.基本使用 跟官方类似,

Lex 的博客 3898

Aurix TC387 Ethernet代码解析之二_移植

英飞凌官方仅提供了TC397的例程,故需通过TC397例程来移植到TC387新建工程里。TC397官方例程名称【Ethernet_1_KIT_TC397_TFT】,网络上可以免费获取到,此处不赘述。使用工具【

m0_69929716的博客 886

五万字解析【ROOT 入门指南】

本文是cern官方root入门指南的初步翻译版,还在进一步校对中....

荷塘阅色 210

J2EE模式---视图助手模式

视图助手模式通过将视图层中的复杂逻辑提取到独立的助手类中,使视图代码更加简洁、易于维护。它是 MVC 架构中的重要补充,能够有效分离展示逻辑和业务逻辑,提高代码的可复用性和可测试性。在实际开发中,合理使用视图助手模式可以帮助我们构建更加清晰、高效的视图层,但需要注意控制视图助手的复杂度,避免引入不必要的抽象。

hqxstudying的博客 1473

基于Python的上市公司年报PDF文本抓取与财务风险分析系统

随着大数据时代的到来,金融数据分析已成为投资决策和风险管理的重要工具。上市公司年报包含了丰富的财务信息和经营数据,通过对这些数据的提取和分析,可以评估公司的财务状况和潜在风险。本文将详细介绍如何使用Python构建一个完整的上市公司年报文本抓取与财务风险分析系统,涵盖PDF文本提取、数据清洗、财务指标计算和风险分析等全流程。

2201_76125261的博客 314

java helper 设计模式_JSP设计模式基础:View Helper模式

View Helper模式告诉我们,我们能使用Helpers来使得在一个应用中,Model数据能够适应表现层的需要。典型的,表现层一般都包括一些JSP页面。这些页面由一些用来给用户显示内容的HTML和图片组成。然而,当这些页面需要显示一些存储在Model上的动态信息的时候,这里有一个问题出现了。你希望能够避免在页面上为了显示那些动态数据而使用嵌入的Java代码,你就得使用一些Helper来帮助你实...

weixin_35029527的博客 581

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(1)

                                             JSP设计模式基础:View Helper模式                            ——学习如何使用View Helper模式使得Model数据适应表现层的需要                                               (第一部分)作者:Andrew P

软件开发资料汇总 284

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java helper 设计模式_JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(1) | 学步园...

JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(第一部分)作者:Andrew Patzer前言这篇从《JSP设计模式基础》(Apress, 2004)摘录的文章,描述了View Helper模式,并且向我们展示了如何创建一些能增加到你自己的工具箱的有用的View Helper(2,300 字, November 1, 20...

weixin_39647180的博客 209

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(3)

 创建菜单在某些情况下,动态的产生菜单或集合链接是很有用的。控制器执行相应的动作,这些动作轮流产生一系列的链接项。使用Helper的View产生格式化的链接来存储在Model里。例如,View可能是一个JSP页面,这个页面需要显示为一个给定的产品显示附加项的菜单。这是一个解释你为什么需要动态显示菜单的一个例子。用户可能会点击公司目录的某一个产品,希望能看到他们所选择的产品的附加项的列表。在Vi

软件开发资料汇总 282

JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(2)

 应用View Helper模式下面的Helper可能对你在某些方面特别有用,但是最起码,他们要告诉你怎么在你的应用中使用View Helper模式。下面是一个定制标签的实现并且被声明在helpers.tld文件里。这个文件在web.xml 文件里做为一个条目和/helpers标签uri相关联。如下所示:   /helpers   /WEB-INF/tlds/helpers.tld 格式化文本

软件开发资料汇总 302

JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要...

前言这篇从《JSP设计模式基础》(Apress, 2004)摘录的文章,描述了View Helper模式,并且向我们展示了如何创建一些能增加到你自己的工具箱的有用的View Helper(2,300 字, November 1, 2004) 。 View Helper模式告诉我们,我们能使用Helpers来使得在一个应用中,Model数据能够适应表现层的需要。典型的,表现层一般都包括一些JSP页面...

tanguoshuai的博客 194
上一篇: java基础:困扰jsp的一些问题与解决方法
下一篇: 在j2me编程中使用 nokia 的中文模拟器
Labber
博客等级 码龄19年 26粉丝 1976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值