Struts标记库详解:Bean、逻辑、HTML与模板标记
Struts标记库是Java开发中基于Struts框架的一组预定义的JSP标签,它极大地简化了在JSP页面中处理业务逻辑和展示数据的工作。这些标记库主要分为四类:Bean标记、逻辑标记、HTML标记和模板标记。 1. Bean标记 Bean标记库主要用于在JSP页面中创建、访问和操作JavaBean。这些标记库描述器定义在struts-bean.tld文件中。它们主要包括以下四种类型的标记: - **创建和复制bean的标记**:如`<bean:define>`,它可以用来定义新的bean、复制现有的bean或者从现有bean复制属性。`<bean:define>`标记具有多个属性,如`id`(用于设置新bean的脚本变量名),`type`(指定bean的类型),`value`(直接赋值给bean),`name`(引用已存在的bean),`property`(拷贝bean的某个属性),`scope`(源bean的作用域)以及`toScope`(目标bean的作用域)。 - **脚本变量定义标记**:用于从不同来源(如cookie、请求参数、HTTP头等)定义脚本变量。例如,`<bean:cookie>`、`<bean:request>`或`<bean:header>`可以用于获取特定的值并将其绑定到一个脚本变量上。 - **bean翻译标记**:用于处理错误消息和bean属性之间的转换,确保用户界面的正确呈现。 - **消息国际化标记**:支持多语言环境,允许开发者从资源文件中提取和显示消息。 2. 逻辑标记 逻辑标记库主要负责控制JSP页面的流程。它们通常用于决定页面何时跳转、何时渲染某个部分等。例如,`<logic:equal>`、`<logic:notEqual>`、`<logic:iterate>`等标记用于条件判断和循环控制。这些标记使开发者能够在JSP页面中执行简单的逻辑操作,而无需编写Java脚本。 3. HTML标记 HTML标记库则提供了一组与HTML元素相关的标签,帮助开发者更方便地创建表单、显示数据以及处理用户输入。例如,`<html:text>`、`<html:password>`、`<html:submit>`等,这些标签能够自动处理session ID的编码,简化表单处理。同时,`<html:link>`可以用于创建带有会话ID的URL。 4. 模板标记 模板标记用于构建动态模板,即可以根据数据生成结构化的页面。这在创建重复的页面布局时非常有用,比如生成目录或列表。 使用Struts标记库的优点在于,它将业务逻辑与展示层分离,提高了代码的可读性和可维护性。开发者可以专注于处理业务逻辑,而无需关心具体的HTML输出,从而提升了开发效率。此外,由于这些标记是预定义的,它们通常已经遵循了MVC模式,与Struts框架的其他部分很好地集成在一起,这使得整个应用的架构更加清晰和一致。
![](https://csdnimg.cn/release/download_crawler_static/15041356/bg5.jpg)
剩余23页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 5
- 资源: 944
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)