- 浏览: 188946 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (153)
- 小技巧 (14)
- spring (3)
- struts2 (20)
- hibernate (0)
- java api (2)
- java se (8)
- jsp/servlet (4)
- oracle (0)
- mysql (1)
- ms sqlserver (1)
- js (30)
- jquery (8)
- ajax (2)
- .net (1)
- 软件 (1)
- j2ee (25)
- 网址收藏 (3)
- web综合 (9)
- web打印控件 (3)
- fckeditor (2)
- Groovy (1)
- PHP (5)
- 项目管理 (1)
- SEO (1)
- PostgreSQL (5)
- CKeditor (1)
- Fusion chart (1)
- 网页播放器 (1)
- 曾遇bug (3)
- java日志 (1)
- linux/Unix/CentOs (5)
- VBA (1)
- C# (0)
- 日期控件 (1)
- tomcat (2)
- cookies (1)
- java7 (1)
- JAVA文件操作 (2)
- hibernate;ehcache (2)
- 缓存 (1)
- dd (0)
- DB (1)
- android (2)
最新评论
-
flyingbin:
沙发,不过从头到尾没怎么看懂~
Windows密码本地破解通用方法 -
jfeimao:
credentialsToPrincipalResolvers ...
CAS(单点登陆)---总结一 -
haige18:
这两张图片引用的是网易的地址,现在资源有可能被删除了,所以就显 ...
Struts2中的Value Stack/Stack Context -
fengzhisha0914:
我的图片也不显示了..为何...
Struts2中的Value Stack/Stack Context -
greatwqs:
java.lang.IllegalStateException ...
java.lang.IllegalStateException:Cannot forward after response has been committed
a
action
使用action标签 可以允许在JSP页面中直接调用Action。
范例如下:
<s: action name="tag2" executeResult="false" />
actionerror
这个标签负责输出错误信息到客户端。
示范代码:
Action代码如下:
public String execute()
{
addActionError("第一条错误消息!");
addActionError("第二条错误消息!");
return SUCCESS;
}....
JSP中:<s:actionerror/>
actionmessage
Action代码如下:
public String execute()
{
addActionMessage("第一条普通消息!");
addActionMessage("第二条普通消息!");
return SUCCESS;
}
JSP:<s:actionmessage />
append
用来做iterator标签的辅助,将不同iterator中的内容合在一个iterator中。
例子:
<s:append id="myAppendIterator">
<s:param value="%{myList1}" />
<s:param value="%{myList2}" />
<s:param value="%{myList3}" />
</s:append>
<s:iterator value="%{#myAppendIterator}">
<s:property />
</s:iterator>
bean
bean标签 用于创建一个JavaBean的实例。
示范样例:
<s:bean name="lee.Person" id=“p”>
<!--使用Param标签为lee。Person类的实例传入参数-->
<s:param name="name" value="'yeeku'"/>
<s:param name="age" value="29"/>
</s:bean>
checkbox
checkbox标签输出一个HTML复选框,等价于HTML代码:<input type="checkbox" .../>。
示范代码:
<s:checkbox label="性别" name="user.sex" value="true" fieldValue="dddd"/>
checkboxlist
标签输出一个复选框。
示范代码:
<s:form>
<s:checkboxlist name="interest" list="{'足球','篮球','排球','游泳'}" label="兴趣爱好"/>
</s:form>
combobox
combobox标签生成一个单行文本框和下拉列表框的结合。
示范代码:
<s:combobox label="请选择您喜欢的图书" theme="css_xhtml" labelposition="top"
list="{'Spring2.0' , 'J2EE' , 'Ajax'}"
size="20" maxlength="20" name="book"/>
conponent
conponent标签用于使用自定义标签。因为使用自定义组件还是基于主题,模板管理的,因此在使用component标签,常常需要指定如下3个属性:
theme:自定义组件所使用的主题,默认使用xhtml主题。
templateDir:指定自定义组件的主题目录,默认使用系统的主题目录,即template目录。
template:指定自定义组件所使用的模板。
示范代码:
<s:component template="mytemplate.jsp">
<s:param name="list" value="{'Spring2.0' , 'J2EE' , 'Ajax'}" />
</s:component>
date
date标签 用于格式化输入一个日期,还可以计算指定日期和当前时刻之间的时差。
示范代码:
<s:date name="#attr.now" format="dd/MM/yyyy" nice=“true”/>
datetimepicker
datetimepicker标签就是生成一个有日期控件的文本输入框。它有一个前提就是要在<head></head>内加一个"<s:head theme="ajax" />",然后可以在form内加上该标签。
示范代码:
<s:datetimepicker name="user.birthday" label="出生日期" value="%{'2008-9-20'}"/>
debug
debug标签主要用于辅助测试,它在页面上生成一个超链接,通过该链接可以查看ValueStack和Stack Context 中的所有值信息。
使用debug标签只有一个id属性,这个属性仅仅是该元素一个引用id。
在页面上增加<s:debug/>标签,通过debug标签,可以看的系统中ValueStack离得全部信息,并可以看到Stack Context中的属性。
<s:debug></s:debug>
//直接在jsp页面上面添加这样的标签,就可以生产一个查看debug信息的链接
div
示范代码:
<s:div href="%{url}">Initial Content</sx:div>
<!--最简单的例子,从指定的url获取信息更新自己的内容-->
doubleselect
<s:doubleselect
label="请选择所在省市" name="province" list="provinces" listKey="id"
listValue="name" doubleList="cities"
doubleListKey="id" doubleListValue="name"
doubleName="city" headerKey="-1"
headerValue="--- 请选择 ---"
emptyOption="true" />
else
else标签用来控制基本的条件处理流程,通常和if、elseif标签连用。
例子
<s:if test="%{false}">
<div>Will Not Be Executed</div>
</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
<div>Will Not Be Executed</div>
</s:else>
elseif
elseif标签用来控制基本的条件处理流程,通常和if标签连用。
例子
<s:if test="%{false}">
...</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
...</s:else>
fielderror
fielderror标签输出action的fieldErrors属性保存的字段错误,fieldErrors是一个map类型的属性。
示范代码:
<s:fielderror/>
file
file标签输出一个HTML文件选择框,等价于html代码:<input type="file" .../>。
示范代码:
<s:file name="uploadfile" accept="text/*" />
<s:file name="uploadfile" accept="text/html,text/plain" />
form
例子:
<s:form action="exampleSubmit" method="post" enctype="multipart/form-data">
<s:submit />
<s:reset />
</s:form>
可以上传文件的form。
generator
使用generator标签可以将指定字符串按指定分隔符分成多个子串,临时生成的多个子串可以使用iterator标签来迭代输出。可以这样理解:generator将一个字符串转化成一个集合。在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,蛋一旦该标签结束,该集合将被移出ValueStack。
head
head标签主要用于成生HTML主要页面的HEAD部分。国为有些主题需要包含特定的CSS和javascript代码,而该标签则用于生成对这此CSS和javaScript代码的引用。
示范代码:
<head>
<title>page 1</title>
<s:head/>
</head>
hidden
hidden标签输出一个HTML隐藏表单元素,等价于HTML代码:<input type="hidden" .../>。
在xhtml主题下,hidden标签与其他的标签不一样,hidden标签并不输出表行。xhtml主题直接从simple主题继承了
hidden.ftl模板。
示范代码:
<s:hidden name="id" value="s"/>
i18n
该标签用于加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。
示范代码:
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld" />
</s:i18n>
if
If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用。
例子:
<s:if test="%{false}">
<div>Will Not Be Executed</div>
</s:if>
include
include标签 用于将一个JSP页面,或者一个Servlet包含到本页面中。
示范代码:
<h2>使用s:include标签来包含目标页面</h2>
<s:include value="include-file.jsp"/>
<!--使用include标签来包含其他页面,并且传入参数-->
<s:include value="include-file.jsp">
<s:param name="author" value="'yeeku'" />
</s:include>
inputtransferselect
iterator
迭代处理一个java.util.Connection或者java.util.Iterator对象
例子:
<s:iterator value="users" status="userStatus">
<s:property value="fullName" />
<s:if test="!#userStatus.last">,</s:if>
</s:iterator>
label
xhtml主题下的label 标签输出两个 HTML的label标签(simple主题下的label标签只输出一个HTML label标签)。分别位于一行的两列,左列的label标签器提示作用,右列的label标签用于显示只读的action属性数据。
示范代码:
<s:label label="用户名" name="user.username"/>
merge
合并遍历集合出来的值,与<s:append>标签用法相似。
例子:
<s:merge id="list">
<s:param value="#request.list1"/>
<s:param value="#request.list2"/>
<s:param value="#request.list3"/>
<s:param value="#request.list4"/>
</s:merge>
<s:iterator value="%{list}">
<s:property/><br>
</s:iterator>
optgroup
optgroup标签用于生成一个下拉列表框的选项组,因此,该标签必须放在<s:select>标签中使用,一个下拉列表框中可以包含多个选项组,因此可以在一个<s:select>标签中使用多个<s:optgroup>标签。
<s:select label="选择您喜欢的图书" name="book" list="#{'Spring2.0':'李刚','J2EE':'李','Ajax宝典':'李'}"
listKey="value" listValue="key">
<s:optgroup label="Rod Johnson"
list="#{'Expert One-on-One J2EE Design and Development':'Johnson'}"
listKey="value"
listValue="key"/>
<s:optgroup label="David Flanagan"
list="#{'JavaScript: The Definitive Guide':'David'}"
listKey="value"
listValue="key"/>
</s:select>
optiontransferselect
示范代码:
<s:optiontransferselect
label="最喜爱的图书"
name="javaBook"
list="{'《Java Web开发详解》', '《Struts 2深入详解》', '《Java快速入门》'}"
doubleName="cBook"
doubleList="{'《VC++深入详解》', '《C++ Primer》', '《C++程序设计语言》'}"/>
param
param标签 主要用于为其他标签提供参数
用法:
<param name="color" value="blue" />
这里color参数的值是,blue对象的值----如果blue对象不存在,则color为null。
password
<s:password>标签类同于HTML的<input type=”password” …>,其name和label类同于<s:textfield>
例子:
property
例子:
<s:property value="username" default="游客"/>
取出栈顶对象(通常是action)的username 属性并输出,如果没有找到username属性,那么输出“游客”。
push
push标签用于将某个值放到ValueStack的栈顶,可以跟简单的访问该值。
示范样例:
<s:bean name="lee.Person" id="p">
<s:param name="age" value="29"/>
</s:bean>
<s:push value="#p">
<s:property value="name"/>
<s:propery value="age"/>
</s:push>
radio
radio标签的用法与checkboxlist的用法几乎完全相同,一样可以指定label, list, listKey, listValue等属性。
示范代码:
<s:radio name="c" label="请选择您喜欢的图书" labelposition="top"
list="#bs.books"
listKey="author"
listValue="name"/>
reset
示范代码:
<s:reset value="重置"></s:reset>
<s:reset type="button" label="重置"></s:reset>
select
s:select 标签输出一个下拉列表框,相当于HTML代码中的<select/>
示范代码:
<s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"/>
</s:form>
set
set标签是将某个值放到指定范围内, 比如说 student.teacher.parent.age 每次访问这个属性不仅性能低,而且代码可读性很差,为了解决这个问题,可以将这个值设置为一个新值,并且放入指定范围内。
使用示范:
<s:set value="#p" name="test"/>
<s:property value="#test.name"/> <br>
<s:property value="#test.age"/> <br>
sort
对一个可以迭代的对象进行排序操作。
<s:sort comparator="myComparator" source="myList">
<s:iterator>
<!-- do something with each sorted elements -->
<s:property value="..." />
</s:iterator>
</s:sort>
submit
Input: 等价于 HTML代码<input type=”submit”>
Image: 等价于 HTML代码 <input type="image">
Button:<button type="submit"></button>
示范代码:
<s:submit value="登陆"></s:submit>
subset
递归iterator的一部分。
例子:
<s:subset source="myList">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
tabbedPanel
示范代码:
<s:tabbedPanel id="tp1" closeButton="pane" theme="ajax" doLayout="true" selectedTab="second" labelposition="left">
<s:div id="first" label="第一个div" theme="ajax">
静态的DIV
</s:div>
<s:div name="second" label="第二个div" theme="ajax" href="%{T}" updateFreq="6000" delay="3000">
3:每六秒钟刷新一次,但有三秒延迟
</s:div>
</s:tabbedPanel>
text
示范代码:
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld" />
</s:i18n>
textarea
示范代码:
<s:textarea name="personal" cols="10" rows="5" label="个人简历"></s:textarea>
textfield
Textfield标签输出一个HTML单行文本输入控件,等价于HTML代码<input type="text">
示范代码:
<s:form action="register" method="post">
<s:textfield name="username" label="用户名"></s:textfield>
</s:form>
token
token标签是用于防止多次提交的标签。避免了刷新页面时多次提交,如果需要该标签起作用,则应该在Struts2的配置文件中启用TokenInterceptor拦截器或TokenSessionStoreInterceptor拦截器。
示范代码:
<s:form>
<s:token/>
</s:form>
tree
tree和treenode标签可以在页面生成一个树形结构,其中tree生成一个树形结构,treenode生成一个树节点。
示范代码:
<s:tree label="图书" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
</s:tree>
treenode
tree和treenode标签可以在页面生成一个树形结构,其中tree生成一个树形结构,treenode生成一个树节点。
示范代码:
<s:tree label="图书" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
</s:tree>
updownselect
示范代码:
<s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"
moveUpLabel="向上移动"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
url
示范代码:
指定action属性,且使用param传入参数的形式
<s:url action="showbook">
<s:param name="author" value="'yeeku'">
</s:url>
发表评论
-
简述Struts2 Convention零配置
2012-07-05 13:24 796从struts2.1开始,struts2不再推荐使用Cod ... -
org.apache.catalina.connector.ClientAbortException
2012-04-27 11:37 10520当我们用Servlet导出图片,或用JSP导出excel时,会 ... -
jsp与Struts2有关跳转兼容性问题的解决方案
2011-03-23 13:22 975最近项目中遇到一个问题: 浏览器地址栏输入域名进入目标网页 ... -
spring+struts+hibernate分页实例
2010-11-22 10:58 847http://ajava.org/code/ssh/16733 ... -
在J2EE系统中应用OSCache 带附件jar包等
2010-10-30 18:51 766文章摘要 Cache是一种用于提高系统响应速度、 ... -
OSCache使用介紹
2010-10-30 18:47 833OSCache使用介紹 一.OSCach ... -
Struts2中的Value Stack/Stack Context
2010-10-30 14:39 2050Value stack栈中的值: 每一个动作在执行相应方 ... -
Log4j使用总结
2010-10-29 11:03 617一、介绍 Log4j是Apache的 ... -
struts2.1.8 hibernate3.3.2 spring2.5 整合需要哪些jar包
2010-10-28 16:07 879struts2 commons-logging-1.0. ... -
URLRewriter实现伪静态
2010-10-27 21:53 1191URLREwriter组件 下载地址:http://www. ... -
生成静态页面
2010-10-27 21:50 919常见的分类信息首页, ... -
struts2 文件上传
2010-10-27 21:43 909实现原理 Struts 2是通过Commons FileUp ... -
strut2 多文件上传
2010-10-27 21:35 883参照上一篇博文《strut2 文件上传》,多文件上传只需要将属 ... -
struts2.1 datetimepicker日期控件的使用
2010-10-27 21:33 946官方参考文档:http://str ... -
struts2 配置json
2010-10-27 21:26 897一、导入所需包,包括Struts2所需的各jar包,再导入st ... -
struts2 dojo 实现动态树
2010-10-27 21:23 13651.首先写两个工具类:TreeData.java 和 Tree ... -
基于Struts 2 Ajax实现的Login应用
2010-10-27 12:58 834Struts 2内嵌了Dojo工具包,实现对Ajax的支持。下 ... -
Struts2.1 标签详细说明
2010-10-27 12:40 1059Struts 2.1 Tags 最近学习 Struts ... -
struts2 tree 标签
2010-10-27 10:15 2611struts2里面使用 tree标签 需要导入包:struts ...
相关推荐
以下是对Struts2标签的史上最详细的介绍。 1. **展示标签** - `s:textfield`:用于创建输入字段,它可以自动处理表单验证和数据绑定。 - `s:textarea`:创建多行文本输入框,适用于大段文本输入。 - `s:checkbox...
Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者可以更加便捷地构建动态网页。以下是对这些标签的详细解释: 1. **a** 标签:这个标签用于创建HTML超链接,与HTML的`<a>`标签功能相似。例如:`登陆...
"史上最全的Struts2"这个资源显然是为了帮助开发者深入理解和掌握Struts2框架的所有方面。 《Struts2 in Action》这本书是学习Struts2的经典教材,书中详细阐述了Struts2的核心概念、工作原理以及实际应用。通过...
总之,"史上最全struts2.0+hibernate+spring开发jar包"是一个完整的开发环境构建,涵盖了Web应用程序开发的各个方面。开发者需要了解每个jar包的功能,合理配置和集成这些框架,以构建高效、稳定的应用程序。在实际...
史上最全的Java面试题独家整理,非常优质得资源! 史上最全的Java面试题独家整理,非常优质得资源! 史上最全的Java面试题独家整理,非常优质得资源! 史上最全的Java面试题独家整理,非常优质得资源! 史上最全的...
史上最全Python 语法及入门 (超全超详细)史上最全Python 语法及入门 (超全超详细)史上最全Python 语法及入门 (超全超详细)史上最全Python 语法及入门 (超全超详细)史上最全Python 语法及入门 (超全超详细)...
本学习笔记将详细阐述Struts2的核心概念、发展历程、使用步骤以及OGNL技术。 一、Struts2概述 1.1 为什么要用Struts 在传统的JSP开发中,模型与视图、控制器的耦合度较高,导致代码维护困难。Struts2引入了MVC...
你的电脑最近比较卡 非常卡 那可能是你从来没整理过碎片吧 此软件简单易用 先下载解压 运行主程序 分析 碎片合并 你只用看着电脑等待整理完 ...不用注册 完全免费 可以说是历史上最好用的磁盘碎片整理程序 !
本文将详细介绍一款被誉为“史上最好用的磁盘整理软件”的特点、功能以及如何使用。 标题所提及的“史上最好用的磁盘整理软件”可能是指UDefrag-CN,这是一款专为中文用户设计的磁盘碎片整理工具。UDefrag-CN以其...
【标题】:“黑苹果10.9.3史上最详细的安装教程(只要你电脑支持安装包99%成功)” 本文将详细介绍如何在非苹果硬件上安装黑苹果操作系统(Mac OS X 10.9.3),这是一份适用于技术爱好者和想要体验苹果操作系统的用户...
1.3 Struts2发展史 Struts2是Apache软件基金会的一个项目,起源于Struts1和WebWork框架的合并。它继承了WebWork的动态方法调用、OGNL表达式语言等特性,同时改进了Struts1的不足,如Action类的配置和异常处理。 1.4...
以下是HTML标签大全的详细介绍: 链接标记 * `<a>`: 超文本链接,用于创建指向其他网页或电子邮件的链接。 * `<a href="URL">`: 创建超文本链接,URL为链接目标地址。 * `<a href="mailto:EMAIL">`: 创建自动发送...
笔记中对编译程序的定义、功能、分类和实现过程进行了详细的解释,并对编译过程的六个阶段进行了详细的介绍。 在笔记的第一章中,对编译程序进行了定义和分类,介绍了编译程序的基本概念,如源程序、目标程序、高级...
以下是对Struts2的详细介绍: 1. **什么是Struts2?** - Struts2是一个轻量级的MVC框架,它的核心在于控制层和表现层的管理。它通过分离业务逻辑和视图展示,实现了MVC架构,降低了代码的耦合度,提高了可维护性。...
史上最全Origin入门详细教程origin教程学习教案.pptx
史上最全VISIO图标集
史上最牛的linux教程学习笔记整理、linux学习笔记整理、
马云 淘宝 史上最牛 史上最牛的114家淘宝店2009最新整理
史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!史上...