struts2中非表单标签的使用 componen

 2. 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 name="list" value="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}" /> 
</s:component> 
<hr/>    
使用自定义主题,自定义主题目录<br> 
从Web应用根路径下加载模板,使用JSP模板。 
<s:component 
        theme="customTheme" 
        templateDir="customTemplateDir" 
        template="jspCustomTemplate.jsp"> 
<s:param name="list" value="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}" /> 
</s:component> 
<hr/> 
使用默认主题(xhtml),默认主题目录(template)<br> 
从Web应用中加载模板,使用JSP模板。 
<s:component template="mytemplate.jsp"> 
<s:param name="list" value="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}" /> 
</s:component> 
<hr/>  
使用自定义主题,自定义主题目录<br> 
从/WEB-INF/classes路径下加载模板,使用ftl模板。 
<s:component 
theme="myTheme" 
templateDir="myTemplateDir" 
template="myAnotherTemplate"> 
<s:param name="list" 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 style=""> 
<b>JSP自定义模板<br> 
请选择您喜欢的图书<br></b> 
<!-- 使用select标签迭代输出list参数所穿过来的集合 --> 
<s:select list="parameters.list"/> 
</div> 

转载于:https://www.cnblogs.com/waiwai1015/p/4606694.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 11g r2 rac中节点时间不同步,Oracle11gR2安装RAC错误之--时钟不同步

系统环境&#xff1a; 操作系统&#xff1a;RedHat EL5 Cluster&#xff1a; Oracle GI(Grid Infrastructure) Oracle&#xff1a; Oracle 11.2.0.1.0 如图所示&#xff1a;RAC 系统架系统环境&#xff1a;操作系统&#xff1a;RedHat EL5Cluster&#xff1a; Oracle GI(Grid I…

酒店预定系统

系统功能模块功能图 用例图 E-R图 转载于:https://www.cnblogs.com/qlly-20/p/9052461.html

74-A/D指标,Accumulation/Distribution,积累/派发线,离散指标.(2015.7.1)

A/D指标&#xff0c;Accumulation/Distribution积累/派发线&#xff0c;离散指标观井映天2015.7.1转载于:https://www.cnblogs.com/i201102053/p/10626638.html

linux 密码修改下次,问题:如何强制用户在下次登录Linux时更改密码

当你使用默认密码创建用户时&#xff0c;你必须强制用户在下一次登录时更改密码。当你在一个组织中工作时&#xff0c;此选项是强制性的。因为老员工可能知道默认密码&#xff0c;他们可能会也可能不会尝试不当行为,看到下图会不会有为用户担心的感觉&#xff1a;使用 passwd 命…

svn的merge使用例子

先说说什么是branch。按照Subversion的说法&#xff0c;一个branch是某个development line&#xff08;通常是主线也即trunk&#xff09;的一个拷贝&#xff0c;见下图&#xff1a; branch存在的意义在于&#xff0c;在不干扰trunk的情况下&#xff0c;和trunk并行开发&#xf…

plot画分段函数_python画图函数大全

很多时候&#xff0c;我们需要用python画图&#xff0c;这样就可以更加直观的看到数据的走势&#xff0c;而不是干巴巴的数字。今天&#xff0c;我们就给大家整理了一下python画图的常用函数&#xff0c;由于篇幅限制。无法将这些函数的使用方法全部表现出来。所以&#xff0c;…

第9章 使用ssh服务管理远程主机。

章节简述&#xff1a; 学习使用nmtui命令配置网卡参数、手工将多块网卡做绑定、使用nmcli命令查看网卡信息和使用ss命令查看网络及端口状态。 完整演示sshd服务配置方法并详细讲述每个参数的作用&#xff0c;实战基于密钥远程登陆实验以及用screen服务让远程会话不再终断。 本…

enum不能被继承

1、枚举类介绍 如果一个类的实例是有限且确定的&#xff0c;那么可以使用枚举类。比如&#xff1a;季节类&#xff0c;只有春夏秋冬四个实例。 枚举类使用enum进行创建&#xff0c;其实例必须从”第一行“开始显示写出。 enum Season{SPRING,SUMMER,FALL,WINTER;//默认public s…

linux不适合数据传输,【Linux调试经验】局域网内数据传输不经过路由

问题/发现&#xff1a;本人在为一款路由器写一个统计局域网互传流量的Linux内核模块的时候&#xff0c;发现如下问题&#xff1a;局域网内的一台设备和该局域网内另一台设备进行通信时&#xff0c;我在路由器的netfilter链表处设下钩子&#xff0c;以捕获数据。后来发现这些数据…

kali linux 升级命令_作为高级Java,你应该了解的Linux知识

原创&#xff1a;小姐姐味道(微信公众号ID&#xff1a;xjjdog)&#xff0c;欢迎分享&#xff0c;转载请保留出处。作为一个javaer&#xff0c;我以前写过很多关于Linux的文章。但经过多年的观察&#xff0c;发现其实对于大部分人&#xff0c;有些东西压根就用不着。用的最多的&…

linux centos 光盘修复,CentOS7删除/boot/initramfsxxx.img并尝试光盘救援模式修复

CentOS7删除/boot/initramfsxxx.img并尝试光盘救援模式修复一、删除/boot/initramfs-3.10.0-957.el7.x86_64.img[rootswitch ~]# rm -f /boot/initramfs-3.10.0-957.el7.x86_64.img二、重启起不来三、插入光盘&#xff0c;进入修复模式(VMWare开机按esc)四、选择修复CentOS7系统…

I/O多路转接之poll,epoll

1、poll函数原型&#xff1a;#include <poll.h>int poll(struct pollfd fds[], nfds_t nfds, int timeout)&#xff1b;参数说明:fds&#xff1a;是一个struct pollfd结构类型的数组&#xff0c;用于存放需要检测其状态的Socket描述符&#xff1b;每当调用这个函数之后&a…

pn532写入手机nfc_NFC手机手环脱机模拟加密门禁卡,你get了吗?

目标&#xff1a;将门禁卡、考勤卡、会员卡、停车卡、电梯卡等等各种卡模拟进手机里&#xff0c;模拟后可用手机代替刷卡&#xff0c;无需root&#xff0c;不用电脑背景介绍&#xff1a;前言目前&#xff0c;IC卡已被广泛应用于身份识别、金融消费、安全认证等领域。大多数人每…

linux安装vim plug, vim-plug 的安装和使用

正确安装 vim-plug之前写了一篇&#x1f984; 一篇文章讲清楚如何安装vim插件&#xff0c;见各位童鞋留言说 vim-plug 更好用。果然各种插件方便管理&#xff0c;安装也很简单。下面简单说下 vim-plug 的操作基本姿势&#xff1a;安装 vim-plugvim-plug 是一个 vim 的插件管理插…

dw网页制作入学教程_简单的手机网页制作教程

很多小白会以为建站只能通过电脑&#xff0c;但实际上&#xff0c;用手机也能顺利建站&#xff0c;而且操作非常简单&#xff0c;不需要你懂技术知识哦&#xff01;下面就跟大家说说手机网页制作教程&#xff1a;首先&#xff0c;你需要选择一个比较好用的手机网页制作app。尽量…

linux 双显卡 黑屏 amd,Win10系统AMD双显卡笔记本开机出现黑屏怎么办?解决方法...

win10是一个全新的操作系统&#xff0c;所以我们在使用时很有可能会碰到一些没见过的新问题。比如&#xff0c;有用户在升级到Windows10后&#xff0c;发现AMD双显卡笔记本出现了开机黑屏的情况。具体表现为&#xff1a;Windows Logo加载之后&#xff0c;用户登陆之前会出现30s…

[BZOJ 1834] [ZJOI2010]network 网络扩容

1834: [ZJOI2010]network 网络扩容 Time Limit: 3 SecMemory Limit: 64 MBDescription 给定一张有向图&#xff0c;每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。求&#xff1a; 1、 在不扩容的情况下&#xff0c;1到N的最大流&#xff1b; 2、…

fw150us的linux驱动下载,迅捷FW150US1.0/2.0无线网卡驱动

迅捷FW150US1.0/2.0无线网卡驱动官方版是迅捷推出的一款超小型150M无线USB网卡&#xff0c;安装迅捷FW150US1.0/2.0无线网卡驱动官方版&#xff0c;即可正常连接电脑使用。迅捷FW150US1.0/2.0无线网卡驱动支持自动检测功能&#xff0c;能够自动调整速率&#xff0c;无线传输速率…

20160811

一&#xff1a;边框样式 1.边框线 border-style : none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset 例&#xff1a;div { width:300px; height:100px; border-style:solid; &#xff5d; border-top-style 设置上边框线 border-bott…

vip地址能ping不通_电脑高手必备ping和netstat命令

1、Ping的基础知识ping命令相信大家已经再熟悉不过了&#xff0c;但是能把ping的功能发挥到最大的人却并不是很多&#xff0c;当然我也并不是说我可以让ping发挥最大的功能&#xff0c;我也只不过经常用ping这个工具&#xff0c;也总结了一些小经验&#xff0c;现在和大家分享一…