Struts2中非表单标签的使用 component

Struts2. component标签
    component标签用于使用自己的自定义组件,这是一个非常灵活的用法,如果经常需要使用某个效果片段,就可以考虑将这个效果片段定义成一个自定义组件,然后在页面中使用component标签来使用该自定义组件。因为使用自定义组件还是基于主题、模板管理的,因此在使用component标签时,常常需要指定如下三个属性:
 theme:自定义组件所使用的主题,如果不指定该属性,默认使用xhtml主题。
 templateDir:指定自定义组件的主题目录,如果不指定,默认使用系统的主题目录,即template目录。
 template:指定自定义组件所使用的模板。
除此之外,还可以在cmponent标签内使用param子标签,子标签表示向该标签模板中传入额外的参数。如果希望在模板中取得该参数,总是采用如下形式:$parameters.paramname,或者$parameters['paramname']。
提示:自定义的模板文件可以采用FreeMarker、JSP和Velocity三种技术来书写。
看下面的JSP页面,该页面多次使用了<s:component .../>标签来使用自定义组件,下面是该页面使用<s:component .../>标签的代码片段:

使用自定义主题,自定义主题目录<br> 
从Web应用根路径下加载模板,使用ftl模板。
<s:component
        theme="customTheme"
        templateDir="customTemplateDir"
        template="ftlCustomTemplate">
<s:param value="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}" />
</s:component>
<hr/>   
使用自定义主题,自定义主题目录<br>
从Web应用根路径下加载模板,使用JSP模板。
<s:component
        theme="customTheme"
        templateDir="customTemplateDir"
        template="jspCustomTemplate.jsp">
<s:param value="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}" />
</s:component>
<hr/>
使用默认主题(xhtml),默认主题目录(template)<br>
从Web应用中加载模板,使用JSP模板。
<s:component template="mytemplate.jsp">
<s:param value="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}" />
</s:component>
<hr/> 
使用自定义主题,自定义主题目录<br>
从/WEB-INF/classes路径下加载模板,使用ftl模板。
<s:component
theme="myTheme"
templateDir="myTemplateDir"
template="myAnotherTemplate">
<s:param value="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}" />
</s:component>

在上面页面中使用了2个FreeMarker模板,这两个FreeMarker模板都使用了FreeMarker标签。除此之外,本页面中还使用了两个JSP模板,这两个JSP页面只是加载的位置不同,两个模板的代码是相同的,下面是JSP模板的代码:

<!-- 设置页面编码 -->
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<div>
<b>JSP自定义模板<br>
请选择您喜欢的图书<br></b>
<!-- 使用select标签迭代输出list参数所穿过来的集合 -->
<s:select list="parameters.list"/>
</div>

struts2文件上传(保存为BLOB格式)

Struts2的入门实例

Struts2实现ModelDriven接口

遇到的Struts2文件下载乱码问题

Struts2整合Spring方法及原理

Struts2 注解模式的几个知识点

Struts 的详细介绍请点这里
Struts 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/33d49d0e5916eceb412e762dfa03d812.html