SimpleFramework在技术架构与原理上做了很多介绍,很多关心Simple的用户反馈给我们很多好的建议,这些建议为
simple的发展提供很多的思路,这里表示真诚的感谢。
今天这篇组件的使用文档希望大家看下面的例子就可以入门,重点介绍simple的组件如何使用,这样可以有一个感性上
的认识。Simple提供大量的组件例子,虽然都放到演示demo中,这对于大家对Simple的组件优势还是一个模糊的概念,
今天就以系统中常用的菜单组件为例子,说明Simple组件的使用方法。
1.组件的定义
SimpleFramework的所有组件都是在XML描述文件中的components标签下定义的, 这有别于标签库 (TagLibs),能更好的把展示(HTML/JSP)和定义(XML)进行有效的分离,比如本例所讲的menu.jsp,就需要定义对于的菜单组件,menu.xml 完成内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/xsd/default/simple.xsd">
<components>
<menu name="mref" runImmediately="false">
<menuitem title="新建窗口" icon="#add"></menuitem>
<menuitem title="新建标签页"></menuitem>
<menuitem title="打开位置"></menuitem>
<menuitem title="打开文件"></menuitem>
<menuitem title="关闭窗口"></menuitem>
<menuitem title="关闭标签页"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="页面另存为"></menuitem>
<menuitem title="发送页面"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="退出"></menuitem>
</menu>
<menu name="menu1" containerId="menu1">
<menuitem title="文件">
<menuitem ref="mref"></menuitem>
</menuitem>
<menuitem title="-"></menuitem>
<menuitem title="编辑">
<menuitem title="撤销"></menuitem>
<menuitem title="重做"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="查找"></menuitem>
<menuitem title="查找下一个"></menuitem>
</menuitem>
<menuitem title="-"></menuitem>
<menuitem title="查看"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="历史"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="书签"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="工具"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="帮助">
<menuitem title="检查更新"></menuitem>
<menuitem title="-"></menuitem>
<menuitem title="关于"></menuitem>
</menuitem>
</menu>
<menu name="menu2" menuEvent="contextmenu" formSelector="#menu2">
<menuitem ref="mref"></menuitem>
</menu>
<menu name="menu3" menuEvent="click" formSelector="#menu3">
<menuitem ref="mref"></menuitem>
</menu>
</components>
</page>
2.
组件和页面文档元素的绑定
实现方式是通过CSS Selector实现的,有了这种绑定关系,组件会对页面DOM元素行如下增强:
1.为绑定的元素添加属性和事件
2.为绑定的元素添加子元素
3.移动绑定的元素到适合的位置
4.添加脚本支持
上述由SimpleFramework自动完成的,如本例的菜单组件,containerId属性定义了基于ID的选择器,这样,组件生成的代码为绑定的元素添加需要子元素。
下面是 menu.jsp 具体内容,请看下id 的属性就是上述menu.xml 定义的containerId。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<div id="demoMenu" style="padding: 10px;">
<div style="margin: 5px 0px;">主菜单演示如下</div>
<div id="menu1" style="height: 30px; border: 3px solid #ddd; background: #f6faf6; padding: 2px;"></div>
<div style="margin: 5px 0px;">右键菜单</div>
<div id="menu2"
style="text-align: center; width: 100px; height: 30px; line-height: 30px; border: 3px solid
#ddd; background: #f6faf6;">右键点击这里</div>
</div>
<div style="margin: 5px 0px;">按钮菜单</div>
<input id="menu3" type="button" value="点我" />
3. 如果本例运行,可以把上述代码按照如下结构拷贝到相应的根目录: /developer/comps/menu/
| menu.jsp
| menu.xml
你可以在浏览器中输入: http://localhost:port/xxx/developer/comps/menu/menu.jsp
需要根据自己的环境修改port, 与 xxx.
如果各位对使用组件还有疑问,欢迎发言,我们会进一步改进。关于其他组件的使用方法都是这样的,当然高级技巧后续单独介绍,比如文件包含使用,不过原理都是一样的。
下篇介绍Javascript调用组件的例子。
相关推荐
SimpleFramework NoLua,是由ulua项目的作者推出的适用于Unity3D的游戏开发框架,特别针对C#编程语言进行了优化,旨在提供一个轻量级、高效且易于使用的MVC(Model-View-Controller)架构。这个框架在游戏开发中扮演...
本文档旨在深入解析《SimpleFramework_v0.2.7f2注解—完整版》中涉及的关键知识点和技术细节,该文档由骏擎CP编写,重点介绍了SimpleFramework框架的核心功能及其在热更新方面的应用。SimpleFramework是一款面向...
综合以上信息,"SimpleFramework_UGUI.zip" 提供了一个使用Unity3D和uLua的简单游戏框架,包含必要的工程文件、资源和配置,适用于新手快速上手Unity3D的UGUI开发,或者作为已有项目的参考和拓展。开发者需要有一定...
《uLua-SimpleFramework与UGUI结合的深度解析》 在Unity引擎的开发过程中,lua脚本语言的引入极大地提高了游戏开发的效率和灵活性。uLua作为Unity中的一个lua脚本解决方案,它允许开发者在Unity环境中无缝地使用lua...
Simpleframework是基于后...不仅可以支持Web应用的全程开发装,也可以在其他框架资源和应用的基础上仅引用其部分组件,本例介绍通过FreeMarker代替jsp做页面展示,并在FreeMarker模板文件输出Simpleframework的树组件。
这可能包括以下核心组件: 1. **资源下载管理器**:负责从服务器下载最新的lua脚本文件,确保数据的完整性和安全性。 2. **文件系统交互**:在本地存储下载的lua脚本,可能采用了特定的文件结构来区分不同版本的...
简单框架 Simple的目标是为服务器端Java带来简单性,可伸缩性和性能。 该项目的主要重点是提供一种真正可嵌入的基于Java的HTTP和WebSocket引擎,能够处理巨大的负载。 Simple提供了真正的异步服务模型,使用内部透明...
简易MVC-API-PHP框架此框架为自己整理系统的练习作品,切勿将之应用在实务上,应用在实务上的框架上请选择Laravel 5.1等框架。所使用的package Laravel - ORM("illuminate/database": "5.1.8") Laravel - Pagination...
sf_webhook 使用 simpleframework http 服务器的 github webhook
week2_simpleFramework 这是一个简单的 REST 框架资源: 学校公司服务器在端口 3000 上运行方法: POST - 根据 url 和输入的 JSON 数据在学校或公司中创建一个新文件 PUT - 根据 url 和输入的 JSON 数据重写文件的...
##使用的数据库类型 usingDB = mysql url = jdbc:mysql://localhost:3306/marking?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false ##实体类包的路径 poPackage =...
**简单XML库(Simple-XML)详解** 在Java开发中,XML作为一种标准的数据交换格式,被广泛用于存储和传输数据。然而,XML的解析和序列化通常需要借助于专门的库来实现,其中Simple-XML就是一个高效且易于使用的库。...
《简单整合:SimpleFramework与FreeMarker的工程应用》 在当今的软件开发中,模板引擎是一种常见的技术,它能够帮助开发者将静态的HTML内容与动态数据进行分离,从而提高代码的可读性和维护性。本篇文章将深入探讨...
Retrofit的核心组件包括服务接口、Gson或简单XML转换器以及一个OkHttp作为网络客户端。 要开始使用Retrofit,你需要添加相关依赖。在Android Studio的build.gradle文件中,添加Retrofit和simplexml库: ```groovy ...
simpleframework-ugui,可以直接替换使用,比网上其他的教程,ShortcutExtensions46,增加了一个静态类,可以在ULUA中使用图片颜色,文字透明,RectTransform等动画。
5. 使用第三方库:如`org.simpleframework.xml`或`Jackson XML`,它们提供更高级别的API,使得XML序列化和反序列化变得更为简便,适合复杂的对象映射场景。 在实际开发中,选择哪种解析方法取决于具体需求。如果XML...
在本文档中,我们将了解如何开始使用Restlet 1.0创建一个简单的"Hello, World"应用程序。以下是你需要的步骤: 1. **环境准备**: - 确保你的开发环境中已经安装了JRE 1.5或更高版本。 - 下载Restlet的最新...
在XML布局文件中,我们使用`<view>`标签来表示自定义视图,而不是通常的视图组件(如`<Button>`或`<TextView>`)。这是因为自定义视图本质上是一个继承自`View`或其子类的类,所以我们用`<view>`来表示它是自定义的...
本资源包“SimpleFramework_v0.1.0”提供了一个基于Unity3D引擎,结合uLua脚本系统和NGUI界面库的游戏框架,旨在实现这一目标。接下来,我们将详细探讨这个框架的核心技术和实现方法。 首先,uLua是Unity3D中的一种...
基于libUV,它适用于主要使用C#快速开发服务器端基本框架,包括数据库和通信包设计器、生成器以及一些Unity Lua客户端适配器-xxlib_Simpleframework