Struts-Layout 是我从 Open Source 上了解到的 project,对它的 introduction 充满 surprise.它是一个用在Struts的tag库.这个强大的tag库可以用来display面板(panels),input框,table,treeviews,sortable lists,datagrids,popups,calendar等.使用这些tag可以不用写HTML code,甚至可以不用know HTML. Now,let me introduce 给你吧:
First of All,需要几个支持包 commons-logging-1.0.4.jar、commons-collections-3.1.jar、uitags-main-1.0.0-nonfinal5.jar、velocity-dep-1.4.jar、jstl-1.1.1.jar、standard-1.1.1.jar.
Second,config web.xml :
<servlet>
<servlet-name>uitags.js</servlet-name>
<servlet-class>
net.sf.uitags.js.JsProviderServlet
</servlet-class>
</servlet>
<servlet>
<servlet-name>comboDatePicker.js</servlet-name>
<servlet-class>
net.sf.uitags.js.JsProviderServlet
</servlet-class>
<init-param>
<param-name>suites</param-name>
<param-value>core,calendar,panel</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>comboOptionTransfer.js</servlet-name>
<servlet-class>
net.sf.uitags.js.JsProviderServlet
</servlet-class>
<init-param>
<param-name>suites</param-name>
<param-value>
core,optionTransfer,shift,sort,search
</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>uitagsDebug.js</servlet-name>
<servlet-class>
net.sf.uitags.js.JsProviderServlet
</servlet-class>
<init-param>
<param-name>directory</param-name>
<param-value>/js</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>countryListAjaxServlet</servlet-name>
<servlet-class>
net.sf.uitags.ajax.CountryListAjaxServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>uitags.js</servlet-name>
<url-pattern>/uitags.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>comboDatePicker.js</servlet-name>
<url-pattern>/comboDatePicker.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>comboOptionTransfer.js</servlet-name>
<url-pattern>/comboOptionTransfer.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uitagsDebug.js</servlet-name>
<url-pattern>/uitagsDebug.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>countryListAjaxServlet</servlet-name>
<url-pattern>/countryListAjaxServlet</url-pattern>
</servlet-mapping>
以上配置看你的需要而定,这里我做如下配置。
Last,test page:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- import package -->
<%@ taglib prefix="uic" uri="http://uitags.sf.net/uitags"%>
<%@ page pageEncoding="gb2312"%>
<%
request.setAttribute("commonJs", "/uitags.js");
request.setAttribute("comboOptionTransferJs",
"/comboOptionTransfer.js");
%>
<html>
<script type="text/javascript"
src="<c:url value="${requestScope.commonJs}" />"></script>
<body>
<div>
<form action="">
<h3>
显示、移除或者隐藏效果
</h3>
<table>
<tr>
<th colspan="2">
Postal Address
</th>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" id="removePostalSection" value="true" />
<label for="removePostalSection">
Same as residential (REMOVE)
</label>
<input type="checkbox" id="hidePostalSection" value="true"
style="margin-left: 50px;" />
<label for="hidePostalSection">
Same as residential (DISABLE)
</label>
</td>
</tr>
<tr>
<td>
<label id="postalAddressLabel">
Address:
</label>
</td>
<td>
<input type="text" name="postalAddress" />
</td>
</tr>
<tr>
<td>
<label id="postalCountryLabel">
Country:
</label>
</td>
<td>
<select name="postalCountry">
<option>
Afghanistan
</option>
</select>
</td>
</tr>
</table>
<!--使用标签-->
<uic:formGuide>
<uic:observe elementId="removePostalSection" forValue="true" />
<uic:remove elementId="postalAddressLabel" />
<uic:remove elementId="postalCountryLabel" />
<uic:remove elementName="postalAddress" />
<uic:remove elementName="postalCountry" />
</uic:formGuide>
<uic:formGuide>
<uic:observe elementId="hidePostalSection" forValue="true" />
<uic:disable elementId="postalAddressLabel" />
<uic:disable elementId="postalCountryLabel" />
<uic:disable elementName="postalAddress" />
<uic:disable elementName="postalCountry" />
</uic:formGuide>
<h3>
Observing a Checkbox Group
</h3>
<div>
<input type="checkbox" id="termsAccepted" name="accepted"
value="terms" />
<label for="termsAccepted">
I accept the terms and conditions.
</label>
</div>
<div>
<input type="checkbox" id="licenceAgreementAccepted"
name="accepted" value="licenceAgreement" />
<label for="licenceAgreementAccepted">
I accept the licence agreement.
</label>
</div>
<input type="submit" value="Download" name="download" />
<!--使用标签-->
<uic:formGuide>
<uic:observe elementName="accepted" forValue="terms" />
<uic:observe elementName="accepted" forValue="licenceAgreement" />
<uic:enable elementName="download" />
</uic:formGuide>
<h3>
Observing a Radio Group
</h3>
<table>
<tr>
<td colspan="3">
Search for:
</td>
</tr>
<tr>
<td>
<input type="radio" name="searchFor" value="keywords"
checked="checked" />
Keywords:
</td>
<td>
<input type="text" name="keywords" />
</td>
<td>
<input type="submit" id="keywordsSearchSubmit" value="Search" />
</td>
</tr>
<tr>
<td>
<input type="radio" name="searchFor" value="author" />
Author:
</td>
<td>
<input type="text" name="author" />
</td>
<td>
<input type="submit" id="authorSearchSubmit" value="Search" />
</td>
</tr>
</table>
<!--使用标签-->
<uic:formGuide>
<uic:observe elementName="searchFor" forValue="keywords" />
<uic:disable elementName="author" />
<uic:disable elementId="authorSearchSubmit" />
</uic:formGuide>
<uic:formGuide>
<uic:observe elementName="searchFor" forValue="author" />
<uic:disable elementName="keywords" />
<uic:disable elementId="keywordsSearchSubmit" />
</uic:formGuide>
<h3>
Observing a Select Box
</h3>
<div>
Your favorite programming language:
<select name="favoriteLanguage">
<option value="1" selected="selected">
Java
</option>
<option value="2">
C
</option>
<option value="-1">
Other - specify
</option>
</select>
<input type="text" id="specifiedFavoriteLanguage"
name="specifiedFavoriteLanguage" />
</div>
<!--使用标签-->
<uic:formGuide>
<uic:observe elementName="favoriteLanguage" forValue="-1" />
<uic:enable elementId="specifiedFavoriteLanguage" />
</uic:formGuide>
<h3>
Observing for an Empty Select Box
</h3>
<div>
<div>
Selecting at least one option will enable the clear button.
</div>
<select id="clearTarget" multiple="multiple" size="4">
<option>
Selecting any
</option>
<option>
of these will
</option>
<option>
enable the
</option>
<option>
Clear button
</option>
</select>
</div>
<input type="button" value="Clear" id="clearTrigger" />
<!--使用标签-->
<uic:select type="none" injectTo="clearTrigger"
applyTo="clearTarget" />
<uic:formGuide>
<uic:observeForNull elementId="clearTarget" />
<uic:disable elementId="clearTrigger" />
</uic:formGuide>
</form>
</div>
</body>
</html>
分享到:
相关推荐
这个jar包,无法通过maven的pom.xml自动挂载下载,因为现在公共库中不存在,所以你需要手动下载到自己的工程中
Struts2布局(Struts2-layout)是Apache Struts2框架的一个扩展,它提供了一种组织和呈现Web应用用户界面的机制。Struts2作为Java Web开发中的MVC(Model-View-Controller)框架,其核心功能在于帮助开发者构建结构...
对java struts-layout开发讲解的非常详细 并有实例演示并且有代码可以参考 好不容易弄到的好东西和大家一起分享
### Struts Tiles 框架详解 #### 一、引言 在开发大型网站时,一致的外观与感觉(Look and Feel,简称 L&F)是必不可少的设计元素。如果这种设计是在每个页面中硬编码实现的,那么一旦需要更改设计风格,将会面临...
### Struts-2.1.6整合Tiles2全攻略 #### 一、概述 本文将详细介绍如何在Struts-2.1.6框架中整合Tiles2,并通过具体步骤指导完成整个配置过程。对于那些希望利用Struts2和Tiles2来构建高效、可维护的Web应用的...
- **Layout**:EasyUI的Layout组件可以方便地构建复杂的页面布局。 - **菜单与导航**:可以使用Menu或Breadcrumb组件创建导航菜单。 5. **安全性考虑**: - Struts2的 interceptors 可以用于安全控制,例如,...
Struts2是一个强大的Java web应用程序框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。而Tiles是Struts2的一个重要组成部分,它允许开发者将多个页面组合成一个复杂的页面布局,实现了视图的重用和模块化。...
- Struts-Layout:Struts的UI标签库。 - ExtJS,Prototype等:增强客户端功能的JavaScript库。 6. **Ajax框架**: - GWT(Google Web Toolkit):用于构建复杂的JavaScript应用程序。 - DWR:简化服务器端调用...
Struts-Layout 提供了一系列丰富的 UI 组件,方便开发者构建用户界面。 - **客户端脚本**:AJAXTags、StrutsAjaxTags 和 AjaxAnywhere 分别提供了一组方便的 AJAX 相关功能,如下拉级联选择、自动完成等,支持局部...
Struts Tiles是Apache Struts框架的一个扩展,它提供了一种组织和管理Web应用程序用户界面的强大方式。Tiles允许开发者创建可重用的UI组件,并通过一个中央配置文件来组合这些组件,形成复杂的页面布局。这种方式...
- **模板文件layout.jsp**: - 定义了页面的基本布局结构。 - **首页index.jsp**: - 引用了布局模板,并填充具体的页面内容。 - **注册register.jsp**: - 同样使用布局模板,但展示注册表单内容。 #### 十一...
4. **Tiles布局(Layout)** 布局是定义的一种特殊形式,它定义了页面的整体框架,通常包括页头、主体、页脚等部分。页面内容可以通过引用不同的定义来填充布局的不同部分。 5. **Tiles配置(Configuration)** ...