simple 在架构之初就考虑到降低Web应用开发的复杂度,提高开发效率。降低开发复杂度的做法是提供了大量的组件。我们把组件分为
核心组件,基本组件库,业务组件。 核心组件包括
AJAX请求组件(ajaxRequest),验证组件(Validation),提交组件(Submit)。核心组件是基本组件与业务组件的基础。
组件在开发过程中,都是按照声明式的编程,simple 框架可以理解你声明的动作。举个例子,比如在 xml 描述需要使用的组件,simple 就会按照在xml中的声明,就可以完成需要做的工作。
下面就给大家介绍下声明式编程的具体例子。
例子(一) 声明 ajax 组件调用一个jsp 页面。
如果你下载了simple,在 root\developer\comps\ajaxRequest 目录下 有三个文件,demo.jsp,demo.xml,page1.jsp.
demo.xml 是对 demo.jsp 的声明。
demo.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>
<ajaxRequest
name="ajaxDemo1
" updateContainerId="ajaxDemo1">
<urlForward>page1.jsp</urlForward>
</ajaxRequest
>
</components>
</page>
上面的demo.xml 就是simple 组件声明式编程. 下面是simple 定义的组件规范。
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/xsd/default/simple.xsd">
<components>
</components>
</page>
本例就是调用ajax 组件,ajax 的组件名字是
“ajaxDemo1”,组件在声明之后,就可以在页面中调用,如本例,调用的方式是 onclick="$Actions['ajaxDemo1']();"。
updateContainerId 是ajax 调用page1.jsp
返回更新页面的ID. 本例中,对应与 <div id="ajaxDemo1"></div>。
demo.jsp
内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<div style="padding: 10px;">
<table width="100%" border="0">
<tr>
<td><input type="button" value="Ajax (返回一个页面)" onclick="$Actions['ajaxDemo1
']();" />
<div id="ajaxDemo1"></div>
</td>
</tr>
</table>
</div>
page1.jsp
的代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<div style="padding: 4px; border: 3px solid #ddd;background: #f4f9f4;">
这是一个被调用的jsp页面
</div>
上面的代码,可以直接体验运行效果,点击-Ajax (返回一个页面)-查看
.
例子(二),我的页面声明。 参考simple工程对于的代码:root\my\home.xml,root\my\home.jsp。
这个例子是真实的演示环境代码,下面分别对每一个行代码进行说明。
home.xml
的声明如下:
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/xsd/default/simple.xsd">
<scriptEval>
first</scriptEval>
详细说明
<scriptInit>
import net.simpleframework.my.home.MyHomeUtils;
</scriptInit> 详细说明
<importPage>
<value>/template/t.xml</value>
<value>${MyHomeUtils.deployPath}jsp/home_c.xml</value>
</importPage>
<jobView>${net.simpleframework.organization.IJob.sj_account_normal}</jobView>
</page>
home.jsp
内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="net.simpleframework.my.home.MyHomeUtils"%>
<%
final String center = MyHomeUtils.deployPath + "jsp/home_c.jsp";
%>
<jsp:include page="/template/center.jsp" flush="true">
<jsp:param value="<%=center%>" name="center" />
</jsp:include>
运行体验: http://demo.simpleframework.net/system/login.jsp
如果有不明白的地方请留言,大家可以进行讨论。
当然,其它组件的调用方式,完全类似。
原文: http://simpleframework.net/blog/v/16211.html
分享到:
相关推荐
SAX(Simple API for XML)是一种事件驱动的解析方法,它不需要一次性加载整个XML文件,而是逐行读取,遇到元素、属性等时触发相应的事件处理器。这种方式节省内存,适合处理大文件。Android中的SAX解析可以借助`org...
#### 一、章节概览与重要知识点解析 ##### 1. Chapter3.1: Class Average Program with Counter-Controlled Repetition 在本章中,我们将探讨如何通过循环来计算班级学生的平均成绩,并且利用计数器控制循环的结束...
RSS阅读器开发实战是一个以Java语言为开发工具的项目,主要目标是实现一个能够解析、显示和管理RSS订阅源的应用程序。在这个项目中,开发者将深入理解RSS feed的结构和工作原理,同时掌握Java编程以及相关框架的使用...
Vue3 和 Web Worker 技术在现代Web开发中扮演着重要的角色,特别是在构建高性能、响应式的用户界面方面。本项目“基于vue3 、web worker的翻牌计时器...同时,这也是一个实践组件化编程和响应式数据绑定的实战案例。
《ASP.NET 2.0 XML高级编程》是Wrox出版社发布的一本专业指南,专注于探讨在ASP.NET 2.0框架下如何深度利用XML技术。这本书面向已经掌握基础的ASP.NET开发者,旨在提升他们在XML处理方面的技能。XML(eXtensible ...
XML,全称可扩展标记语言(Extensible ...通过《实战XML(第二版)》的学习,读者能够掌握XML的基本概念、解析方法、验证技术以及在各种编程环境中的应用,从而在实际项目中灵活运用XML这一强大的数据表示和交换工具。
在本章节中,“Google.Android开发入门与实战第12章.Android综合案例一——RSS阅读器实例”主要聚焦于Android应用程序开发中的一个实际应用场景——构建一个RSS阅读器。这个实例将帮助初学者理解如何将Android SDK的...
2. 解析器:XML解析器是处理XML文档的关键组件。有两种类型的解析器:DOM(Document Object Model)和SAX(Simple API for XML)。DOM解析器将整个XML文档加载到内存中,形成一个树形结构,方便访问任何部分;而SAX...
首先,我们需要理解RSS(Really Simple Syndication)是什么。RSS是一种XML格式,用于发布和订阅网站内容,如新闻、博客文章或播客。RSS阅读器允许用户在一个地方聚合和管理来自多个来源的这些内容,使得信息获取...
1. **React基础**:项目基于React框架,涉及组件化编程、状态管理和生命周期方法等React核心概念。React通过JSX语法糖来融合HTML和JavaScript,使得编写UI组件更为直观。 2. **状态管理**:简单的待办事项应用通常...
JSX提供了一种声明式的编程方式,使得编写模板更加简洁和易于理解。 五、日语字符展示与处理 在处理日语字符时,开发者需要确保正确设置编码(通常是UTF-8),并在HTML文件中添加`<meta charset="UTF-8">`来指定...
接着,将详细讲解Delphi中处理XML的主要组件,如TXMLDocument、TXMLEncoder和TXMLDecoder等,以及如何使用它们进行XML的读写、解析和编码。 在Delphi中,DOM(Document Object Model)和SAX(Simple API for XML)...
Flex提供了丰富的组件库和MXML语言,使得开发者能够轻松创建交互式、动态的网络应用。而Cairngorm,作为一个轻量级的MVC框架,是Flex应用中常用的设计模式,它极大地提高了代码的可维护性和可扩展性。 Cairngorm...
通过"simple-banker"项目,我们可以深入了解Angular.js的实战应用,并学习如何构建一个功能完整的银行系统。无论你是Angular.js初学者还是经验丰富的开发者,这个项目都能为你提供宝贵的实践经验和学习材料。同时,...
《Spring中的SimpleJdbcTemplate:深度解析与应用》 在Java编程领域,Spring框架以其强大的功能和易用性深受开发者喜爱。在Spring的众多模块中,`SimpleJdbcTemplate`是数据库操作的一个重要工具,它简化了JDBC...
例如,你可能需要使用HTTP相关的jar库如`httpclient`来处理网络请求,或者使用JSON解析库如`json-simple`进行数据交换。 6. **urlwrite**:这可能是URL重写技术的提及,用于改善Web应用中URL的可读性和美观性。你...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...