struts2的 component标签(非表单标签)
来源:互联网 发布:淘宝海外版 编辑:程序博客网 时间:2024/05/16 08:09
component标签
component标签用于使用自己的自定义组件,这是一个非常灵活的用法,如果经常需要使用某个效果片段,就可以考虑将这个效果片段定义成一个自定义组件,然后在页面中使用component标签来使用该自定义组件。
因为使用自定义组件还是基于主题、模板管理的,因此在使用component标签时,常常需要指定如下三个属性:
- theme:自定义组件所使用的主题,如果不指定该属性,默认使用xhtml主题。
- templateDir:指定自定义组件的主题目录,如果不指定,默认使用系统的主题目录,即template目录。
- template:指定自定义组件所使用的模板。
除此之外,还可以在cmponent标签内使用param子标签,子标签表示向该标签模板中传入额外的参数。如果希望在模板中取得该参数,总是采用如下形式:$parameters.paramname,或者$parameters['paramname']。
提示:自定义的模板文件可以采用FreeMarker、JSP和Velocity三种技术来书写。
采用JSP模板的例子:
1.模板文件所在的文件目录结构:
2. *.jsp页面的片段:
<div id="box-questions">
<s:iterator value="paperQuestions" id="groupMap">
<s:iterator value="#groupMap['QUESTION_LIST']" id="qstMap">
<s:component templateDir="/includes" theme="custom" template="question.jsp">
<s:param name="mode">exam</s:param>
<s:param name="questionType" value="#qstMap['QUESTION'].questionType" />
. ........................................................................
</s:component>
</s:iterator>
</s:iterator>
</div>
3. 模板页面:
question.jsp(整体结构完整,无其他标签体)
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<s:if test="parameters.questionType == @cn.epis.ets.pojo.Question@QT_SINGLE_SELECT">
<s:component templateDir="/includes" theme="custom" template="single_select.jsp">
<s:param name="mode" value="parameters.mode" />
.......................................................................................
</s:component>
</s:if>
<s:elseif test="parameters.questionType == @cn.epis.ets.pojo.Question@QT_MULTI_SELECT">
<!--templateDir路径加个template目录就是multi_select.jsp的 路径-->
<s:component templateDir="/includes" theme="custom" template="multi_select.jsp">
<s:param name="mode" value="parameters.mode" />
..................................................................................................
</s:component>
</s:elseif>
- struts2的 component标签(非表单标签)
- struts2 的tree和treenode标签(非表单标签)
- Struts2标签库(四)之非表单标签
- Struts2 表单和非表单标签
- Struts2的表单标签
- struts2的表单标签
- struts2的表单标签
- Struts2的表单标签
- Struts2的表单标签
- struts2学习笔记之十三(表单标签和非表单标签)
- Struts2的表单UI标签(1)
- Struts2的表单UI标签(2)
- struts2常用标签库之非表单标签
- Struts2中UI标签之非表单标签
- Struts2的表单标签使用
- struts2 checkboxlist标签(表单标签)
- struts2 doubleselect标签(表单标签)
- struts2 select 标签(表单标签)
- C++复习 一些不解的零碎小问题
- v$session_wait p1 p1raw p1_16
- python的3种import模块方法
- (6)Java笔记6之泛型
- UML实战之准备工作
- struts2的 component标签(非表单标签)
- java 中的 构造代码块和 静态代码块的区别
- listView上拉刷新下拉加载
- 如何写一个网页标题title的闪动提示
- PHP调试
- android 事件处理机制之requestDisallowInterceptTouchEvent
- MySQL 部门 员工数量查询
- FLEXIM高温超声波流量计应用情况研究分析
- 一道SQL面试题