webwork2使用OGNL(Object-Graph Navigation Language)与界面元素绑定,OGNL包含一个根对像(OGNLValueStack)和其他Map类型的上下文对像。OGNL可以直接访问对像属性,访问上下文Map对像要加#,根对像不需要。
|--request
|
|--application
|
context map---|--OgnlValueStack(root)
|
|--session
|
|--attr
|
|--parameters
1.访问根对像
<ww: property value="myBean.myProperty"/>
2.访问 session
ActionContext.getContext().getSession().put("mySessionPropKey", mySessionObject);
<ww:property value="#session.mySessionPropKey"/> or
<ww:property value="#session['mySessionPropKey']"/> or
<ww:property value="#attr.mySessionPropKey"/>
3.加载list到select框
<ww:select label="label" name="name" list="{'name1','name2','name3'}" value="%{'name2'}" />
<ww:select label="label" name="name" list="#{'foo':'foovalue', 'bar':'barvalue'}" />
4.条件语句
<ww:if test="'foo' in {'foo','bar'}">
muhahaha
</ww:if>
<ww:else>
boo
</ww:else>
<ww:if test="'foo' not in {'foo','bar'}">
muhahaha
</ww:if>
<ww:else>
boo
</ww:else>
<ww:if test="%{false}">
<div>Will Not Be Executed</div>
</ww:if>
<ww:elseif test="%{true}">
<div>Will Be Executed</div>
</ww:elseif>
<ww:else>
<div>Will Not Be Executed</div>
</ww:else>
5.List合并
public class AppendIteratorTagAction extends ActionSupport {
private List myList1;
private List myList2;
private List myList3;
public String execute() throws Exception {
myList1 = new ArrayList();
myList1.add("1");
myList1.add("2");
myList1.add("3");
myList2 = new ArrayList();
myList2.add("a");
myList2.add("b");
myList2.add("c");
myList3 = new ArrayList();
myList3.add("A");
myList3.add("B");
myList3.add("C");
return "done";
}
public List getMyList1() { return myList1; }
public List getMyList2() { return myList2; }
public List getMyList3() { return myList3; }
<ww:append id="myAppendIterator">
<ww:param value="%{myList1}" />
<ww:param value="%{myList2}" />
<ww:param value="%{myList3}" />
</ww:append>
<ww:iterator value="%{#myAppendIterator}">
<ww:property />
</ww:iterator>
http://www.opensymphony.com/webwork/wikidocs/Tags.html
分享到:
相关推荐
WebWork UI标签是一种用于构建Web应用程序用户界面的组件,它提供了丰富的功能,使得开发者能够更加便捷地创建交互式的Web页面。WebWork是一个不绑定特定视图技术的框架,支持多种模板语言,如JSP、Velocity和...
WebWork标签库分为多个类别,包括通用标签、组件化标签、流程控制标签、迭代标签、UI标签、VUI标签以及国际化支持标签。 1. **通用标签**: - `<ww:property>`:用于获取结果的属性值,如果未指定值,将从值栈顶部...
- `<ww:form>`:HTML表单的基础,包含其他UI标签。 - `<ww:textfield>`:创建文本输入框。 - `<ww:password>`:创建密码输入框。 - `<ww:textarea>`:创建多行文本输入域。 - `<ww:checkbox>`:创建复选框。 -...
通过以上对WebWork标签库的详细介绍,我们不难发现,WebWork标签库不仅提供了基础的数据操作、流程控制和迭代功能,还特别设计了一套完善的UI标签体系,极大地简化了Web应用的开发过程。开发者可以根据具体需求,...
WebWork标签库提供了一个`ww:datepicker`标签,它允许我们方便地与jQuery UI的Datepicker集成。下面是一个简单的例子: ```jsp <%@ taglib prefix="ww" uri="http://www.opensymphony.com/webwork" %> ... 选择...
**2. 配置redirectresult** ```xml class="com.opensymphony.webwork.dispatcher.ServletRedirectResult"/> ``` **2.1 参数配置** ```xml <param name="location">/hello.jsp ``` **2.2 重定向与分发的区别...
- **UI组件**:第十一章关注于如何使用WebWork提供的UI组件来简化前端开发过程,提高用户体验。 #### 五、高级主题 - **类型转换**:第十二章介绍了WebWork中的类型转换机制,帮助开发者处理表单提交的不同数据...
#### 2. HelloWorld示例 - **项目搭建**:通过一个简单的“Hello World”示例介绍如何搭建WebWork环境,包括配置文件设置、依赖管理等。 - **动作编写**:展示如何编写动作类以及如何定义动作的行为逻辑。 - **视图...
- **标签库的使用**:WebWork 包含一系列预定义的标签库,这些标签可以帮助开发者更方便地操作页面元素和渲染数据。 - **Velocity 模板引擎**:Velocity 是一种用于渲染页面的模板引擎,它可以与 WebWork 高度集成。...
- **UI组件概念**:为了进一步简化界面开发,WebWork提供了各种UI组件。 - **示例**: - `<s:textarea>`用于创建文本区域。 - `<s:checkbox>`用于创建复选框。 - **作用**:提高界面的统一性和用户体验。 ### ...
控制标签和UI标签提供了Web界面逻辑控制和视图展示的功能,这些标签使得Web层的逻辑和界面展示分离,符合MVC设计模式。 ### 杂项标签 杂项标签中包含了一些其他实用功能,比如URL的生成和国际化文本的输出。这些...
Struts2提供了强大的标签库,包括s标签、sx标签、ui标签等,可以用来简化JSP页面的开发。Struts2也支持使用Ajax技术来实现异步刷新和更新页面内容。 Struts2的优点包括灵活的配置和使用、强大的标签库、支持Ajax...
- **UI标签**:用于实现复杂的UI布局。 **2.4 Struts2的控制器组件** 控制器是Struts2的核心组成部分之一,负责接收用户的请求并将请求转发给相应的Action处理。Struts2的控制器机制非常灵活,支持多种方式来处理...
根据用途的不同,Struts2的标签可以大致分为两大类:通用标签和UI标签。 ##### 1. 通用标签 通用标签主要用于控制页面的表现逻辑,它们可以帮助开发者从Action或值栈中获取数据。具体包括: - **控制标签**:用于...
- Freemarker-2.3.x.jar:包含Struts2 UI标签模板,使用FreeMarker编写。 - Commons-logging-1.x.x.jar:ASF出品的日志包,Struts2框架用以支持Log4J和JDK 1.4+日志记录。 - Commons-fileupload-1.2.1.jar:文件上传...
`标签库`部分会介绍Struts2提供的丰富UI标签,如`s:form`、`s:textfield`、`s:submit`等,这些标签简化了视图层的开发,与Action和模型数据紧密集成。 在`详细的配置文件描述`中,可能会讲解struts.xml的结构和重要...
1. `org.apache.struts2.components`:这个包包含视图组件,如UI标签,Struts2增强了这些组件,新增了多个有用的功能,例如`updownselect`, `doubleselect`, `datetimepicker`, `token`, `tree`等,并支持自定义主题...