- 浏览: 232375 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
插上翅膀的小猪:
同意三楼的意见。
下载服务器上的文件-纯java处理 -
ITQCF:
一楼所言极是啊,encodeFileName这个方法为嘛找不到 ...
下载服务器上的文件-纯java处理 -
u011296404:
这个不适用与ie浏览器
下载服务器上的文件-纯java处理 -
冬天秋天:
博主 这个貌似在oracle 数据库下没有成功啊……
更新一个表的字段值等于另一个表的字段值的SQL语句 -
pangpang514:
WebUtils是在org.springframework.w ...
下载服务器上的文件-纯java处理
一、 url标签
简介
url标签用于生成一个URL地址,可以通过url标签指定param子元素,从而向指定URL发送请求参数。
1. jsp代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>使用s:url来生成一个URL地址</title>
</head>
<body>
<h2>s:url来生成一个URL地址</h2>
只指定value属性的形式。<br>
<s:url value="editGadget.action"/>
<hr>
指定action属性,且使用param传入参数的形式。<br>
<s:url action="showBook">
<s:param name="author" value="'yeeku'" />
</s:url>
<hr>
既不指定action属性,也不指定value属性,且使用param传入参数的形式。<br>
<s:url includeParams="get" >
<s:param name="id" value="%{'22'}"/>
</s:url>
<hr>
同时指定action属性和value属性,且使用param传入参数的形式。<br>
<s:url action="showBook" value="xxxx">
<s:param name="author" value="'yeeku'" />
</s:url></body></html>
备注:我们用的最多的是以下的方式:
<s:url id="url" action="preModifyCategoryName" includeParams="none" namespace="/category">
<s:param name="categoryId" value="%{categoryId}"/>
</s:url>
<s:a href="%{url}">
<s:text name="modify_category_name"/>
</s:a>
2. 页面效果
s:url来生成一个URL地址
只指定value属性的形式。
editGadget.action
________________________________________
指定action属性,且使用param传入参数的形式。
/portal/test/showBook.action?author=yeeku
________________________________________
既不指定action属性,也不指定value属性,且使用param传入参数的形式。
/portal/test/s-url.jsp?id=22
________________________________________
同时指定action属性和value属性,且使用param传入参数的形式。
xxxx?author=yeeku
二、 s:checkboxlist标签
简介
Checkboxlist标签可以一次创建多个复选框,用于一次生成多个HTML标签中的<inputtype=”checkbox” …/>,它根据list属性指定的集合来生成多个复选框。
1. jsp代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>使用s:checkboxlist生成多个复选框</title>
<s:head/>
</head>
<body>
<h3>使用s:checkboxlist生成多个复选框</h3>
<s:form>
<!-- 使用简单集合来生成多个复选框 -->
<s:checkboxlist name="a" label="请选择您喜欢的图书" labelposition="top"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"/>
<!-- 使用简单Map对象来生成多个复选框 -->
<s:checkboxlist name="b" label="请选择您想选择出版日期" labelposition="top"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
</s:form>
</body>
</html>
备注
<!-- 使用集合里放多个JavaBean实例来生成多个复选框 -->
<s:checkboxlist name="b" label="请选择您喜欢的图书" labelposition="top"
list="#bs.books"
listKey="name"
listValue="author"/>
listKey:该属性指定集合元素中某个属性作为复选框的value.
listValue: 该属性指定集合元素中某个属性作为复选框的标签。
2. 页面效果
三、 使用s:combobox生成下拉输入框
简介
Combobox标签生成一个单行文本框和下拉列表框的组合,但两个表单元素只对应一个请求参数,只有单行文本框里的值才包含请求参数,而下拉列表框则只是用于辅助输入,并没有name,也不会产生请求参数。使用该标签,需要指定一个list属性,该list属性指定的集合将用于生成列表项。
1. Jsp代码
<body>
<h3>使用s:combobox生成下拉输入框</h3>
<s:form>
<s:combobox label="请选择您喜欢的图书" theme="css_xhtml" labelposition="top"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"
size="20" maxlength="20" name="book"/>
</s:form>
</body>
1. 页面效果
第一步
第二步
备注:
与<s:select …/>标签不同的是,对于下面的下拉列表,无需指定listKey和listValue属性,因为此处的下拉列表,不再用于发送请求参数,而仅仅是用于辅助输入,因此该下拉列表的value没有任何意义。(注:使用combobox标签时不能指定listKey和 listValue属性)
四、 使用s:datetimepicker生成日期选择框
简介
Datetimepicker标签生成一个日期,时间下拉选择框,当我们使用该日期,时间选择框选择某个日期,时间,系统会自动将选中的日期,时间输入指定文本框。
1. Jsp代码
<body>
<h3>使用使用s:datetimepicker生成日期选择框</h3>
<s:form theme="simple">
日期选择部件,指定toggleType属性,且指定value="today"<br>
<s:datetimepicker name="order.date" label="购买日期" toggleType="explode" value="today"/><hr>
日期选择部件,指定了format属性<br>
<s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日"/><hr>
日期选择部件,指定了weekStartsOn属性<br>
<s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日" weekStartsOn="2"/><hr>
时间选择部件<br>
<s:datetimepicker label="选择出发时间'" name="start" type="time" value="13:00"/><hr>
</s:form>
</body>
2. 页面效果
第一步
第二步
第三步 :
第四步:
备注
toggleType:指定日期选择框出现、隐藏的方式,可以选择plain,wipe,explode和fade4个值。
value:指定当前的日期,时间。可使用today来代表今天。
五、 使用s:select生成下拉选择框
简介
Select 标签用于生成一个下拉列表框,通过为该元素指定list属性,系统会使用list属性指定的集合来生成下拉列表框的选项。
1. Jsp代码
<body>
<h3>使用s:select生成下拉选择框</h3>
<s:form>
<!-- 使用简单集合来生成下拉选择框 -->
<s:select name="a" label="请选择您喜欢的图书" labelposition="top" multiple="true"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成下拉选择框 -->
<s:select name="b" label="请选择您想选择出版日期" labelposition="top"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来生成下拉选择框 -->
<s:select name="b" label="请选择您喜欢的图书" labelposition="top" multiple="true"
list="#bs.books"
listKey="author"
listValue="name"/>
</s:form>
</body>
2. 页面效果
第二步
六、使用s:radio生成多个单选框
简介
s:radio生成多个单选框。
1. Jsp代码
<body>
<h3>使用s:radio生成多个单选框</h3>
<s:form>
<!-- 使用简单集合来生成多个单选框 -->
<s:radio name="a" label="请选择您喜欢的图书" labelposition="top"
list="{'Spring2.0宝典' , 'Spring In Action' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成多个单选框 -->
<s:radio name="b" label="请选择您想选择出版日期" labelposition="top"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来生成多个单选框 -->
<s:radio name="c" label="请选择您喜欢的图书" labelposition="top"
list="#bs.books"
listKey="author"
listValue="name"/>
</s:form>
</body>
2、 页面效果
七、使用s:optgroup生成下拉选择框的选项组
简介
Optgroup标签用于生成一个下拉列表框的选项组。
1. Jsp代码
<body>
<h3>使用s:optgroup生成下拉选择框的选项组</h3>
<s:form>
<!-- 使用Map对象来生成下拉选择框的选项组 -->
<s:select label="选择您喜欢的图书"
name="book"
list="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于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>
</s:form>
</body>
2、 页面效果
第二步
八、使用s:optiontransferselect来生成可移动列表项的下拉列表框
简介
使用s:optiontransferselect来生成可移动列表项的下拉列表框。
1. Jsp代码
<body>
<h3>使用s:optiontransferselect来生成可移动列表项的下拉列表框</h3>
<s:form>
<!-- 使用简单集合对象来生成可移动的下拉列表框 -->
<s:optiontransferselect
label="请选择你喜欢的图书"
name="cnbook"
leftTitle="中文图书:"
rightTitle="外文图书"
list="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}"
multiple="true"
addToLeftLabel="向左移动"
selectAllLabel="全部选择"
addAllToRightLabel="全部右移"
headerKey="cnKey"
headerValue="--- 选择中文图书 ---"
emptyOption="true"
doubleList="{' J2EE Design and Development', 'The Definitive Guide'}"
doubleName="enBook"
doubleHeaderKey="enKey"
doubleHeaderValue="--- 选择外文图书 ---"
doubleEmptyOption="true"
doubleMultiple="true"
/>
</s:form>
</body>
2、 页面效果
备注:
如果我们不想用它默认的图标,我们可以添加标签,将它默认的覆盖掉:例如我们添加如下代码:
addToRightLabel="向右移动"
leftDownLabel="下移按钮 "
页面效果
九、使用s:updownselect生成可上下移动选项的下拉选择框
简介
Updownselect标签的用法非常类似于select标签的用法,区别是该标签声称的列表框可以支持选项的上下移动。
1. Jsp代码
<body>
<h3>使用s:updownselect生成可上下移动选项的下拉选择框</h3>
<s:form>
<!-- 使用简单集合来生成可上下移动选项的下拉选择框 -->
<s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"
moveUpLabel="向上移动"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成可上下移动选项的下拉选择框
且使用emptyOption="true"增加一个空选项-->
<s:updownselect name="b" label="请选择您想选择出版日期" labelposition="top"
moveDownLabel="向下移动"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
emptyOption="true"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来可上下移动选项的生成下拉选择框 -->
<s:updownselect name="c" label="请选择您喜欢的图书的作者" labelposition="top"
selectAllLabel="全部选择" multiple="true"
list="#bs.books"
listKey="author"
listValue="name"/>
</s:form>
</body>
2.页面效果
十、使用s:doubleselect生成级联下拉列表框
简介
1.Jsp代码
<body>
<h3>使用s:doubleselect生成级联下拉列表框</h3>
<s:form action="x" method="post" theme="simple">
<s:doubleselect
label="请选择您喜欢的图书"
name="author" list="{'李刚', 'David'}"
doubleList="top == '李刚' ? {'Spring2.0宝典', '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'} : {'JavaScript: The Definitive Guide'}"
doubleName="book"/>
</s:form>
</body>
2。页面效果
备注:
错误原因可能是我们的模板有bug.
十一、使用s:tree和s:treenode标签生成静态树
简介
1。Jsp代码
<body>
<s:tree label="计算机图书" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="李刚" id="yeeku">
<s:treenode theme="ajax" label="Spring2.0宝典" id="spring"/>
<s:treenode theme="ajax" label="轻量级J2EE企业应用实战" id="lightweight"/>
<s:treenode theme="ajax" label="基于J2EE的Ajax宝典" id="ajax"/>
</s:treenode>
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
<s:treenode theme="ajax" label="Johnson" id="Johnson">
<s:treenode theme="ajax" label="Expert One-on-One J2EE Design and Development" id="j2ee"/>
</s:treenode>
</s:tree>
</body>
2。页面效果
十二、使用s:append标签拼接两个集合
简介
使用s:append标签拼接 多个集合,组成一个新的集合。
1.Jsp代码
<body>
<s:append id="newList">
<s:param value="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}" />
<s:param value="{'新东方IT培训', '东方标准职业教育'}" />
</s:append>
<table border="1" width="240">
<s:iterator value="#newList" status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property/></td>
</tr>
</s:iterator>
</table>
</body>
2。页面效果
十三、使用s:append标签拼接集合和Map
简介
Append标签用于将多个集合对象拼接起来,组成一个新的集合。通过这种拼接,从而允许通过一个<s:iterator …/>标签就完成对多个集合的迭代。
1.Jsp代码
<body>
<s:append id="newList">
<s:param value="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于J2EE的Ajax宝典':'李刚'}" />
<s:param value="#{'新东方IT培训', '东方标准职业教育'}" />
</s:append>
<table border="1" width="240">
<s:iterator value="#newList" status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property value="key"/></td>
<td><s:property value="value"/></td>
</tr>
</s:iterator>
</table>
</body>
2.页面效果
十五、使用s:generator生成集合
简介
使用generator标签可以将指定字符串按指定分隔符分隔成多个子串,临时生成的多个子串可以使用iterator标签迭代输出。可以这样理解:generator将一个字符串转化成一个集合。在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,但一旦该标签结束,该集合将被移出ValueStack。
1.Jsp代码
<body>
<s:generator val="'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典'"
separator="," id="books" count="2"/>
<table border="1" width="240">
<%
java.util.Iterator i = (java.util.Iterator) pageContext.getAttribute("books");
while(i.hasNext())
{
String s = (String) i.next(); %>
<tr>
<td><%=s%></td>
</tr>
<%
}
%>
</table>
</body>
备注:如果指定了count属性,则以为这集合中最多只能包含count个元素(就是前coun个元素);如果指定了id属性,就可以将临时生成的集合放置到pageContext属性中。
2.页面效果
3.jsp代码
<body>
<table border="1" width="240">
<s:generator val="'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典'" separator=",">
<s:iterator status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property/></td>
</tr>
</s:iterator>
</s:generator>
</table>
</body>
4。页面效果
简介
url标签用于生成一个URL地址,可以通过url标签指定param子元素,从而向指定URL发送请求参数。
1. jsp代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>使用s:url来生成一个URL地址</title>
</head>
<body>
<h2>s:url来生成一个URL地址</h2>
只指定value属性的形式。<br>
<s:url value="editGadget.action"/>
<hr>
指定action属性,且使用param传入参数的形式。<br>
<s:url action="showBook">
<s:param name="author" value="'yeeku'" />
</s:url>
<hr>
既不指定action属性,也不指定value属性,且使用param传入参数的形式。<br>
<s:url includeParams="get" >
<s:param name="id" value="%{'22'}"/>
</s:url>
<hr>
同时指定action属性和value属性,且使用param传入参数的形式。<br>
<s:url action="showBook" value="xxxx">
<s:param name="author" value="'yeeku'" />
</s:url></body></html>
备注:我们用的最多的是以下的方式:
<s:url id="url" action="preModifyCategoryName" includeParams="none" namespace="/category">
<s:param name="categoryId" value="%{categoryId}"/>
</s:url>
<s:a href="%{url}">
<s:text name="modify_category_name"/>
</s:a>
2. 页面效果
s:url来生成一个URL地址
只指定value属性的形式。
editGadget.action
________________________________________
指定action属性,且使用param传入参数的形式。
/portal/test/showBook.action?author=yeeku
________________________________________
既不指定action属性,也不指定value属性,且使用param传入参数的形式。
/portal/test/s-url.jsp?id=22
________________________________________
同时指定action属性和value属性,且使用param传入参数的形式。
xxxx?author=yeeku
二、 s:checkboxlist标签
简介
Checkboxlist标签可以一次创建多个复选框,用于一次生成多个HTML标签中的<inputtype=”checkbox” …/>,它根据list属性指定的集合来生成多个复选框。
1. jsp代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>使用s:checkboxlist生成多个复选框</title>
<s:head/>
</head>
<body>
<h3>使用s:checkboxlist生成多个复选框</h3>
<s:form>
<!-- 使用简单集合来生成多个复选框 -->
<s:checkboxlist name="a" label="请选择您喜欢的图书" labelposition="top"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"/>
<!-- 使用简单Map对象来生成多个复选框 -->
<s:checkboxlist name="b" label="请选择您想选择出版日期" labelposition="top"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
</s:form>
</body>
</html>
备注
<!-- 使用集合里放多个JavaBean实例来生成多个复选框 -->
<s:checkboxlist name="b" label="请选择您喜欢的图书" labelposition="top"
list="#bs.books"
listKey="name"
listValue="author"/>
listKey:该属性指定集合元素中某个属性作为复选框的value.
listValue: 该属性指定集合元素中某个属性作为复选框的标签。
2. 页面效果
三、 使用s:combobox生成下拉输入框
简介
Combobox标签生成一个单行文本框和下拉列表框的组合,但两个表单元素只对应一个请求参数,只有单行文本框里的值才包含请求参数,而下拉列表框则只是用于辅助输入,并没有name,也不会产生请求参数。使用该标签,需要指定一个list属性,该list属性指定的集合将用于生成列表项。
1. Jsp代码
<body>
<h3>使用s:combobox生成下拉输入框</h3>
<s:form>
<s:combobox label="请选择您喜欢的图书" theme="css_xhtml" labelposition="top"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"
size="20" maxlength="20" name="book"/>
</s:form>
</body>
1. 页面效果
第一步
第二步
备注:
与<s:select …/>标签不同的是,对于下面的下拉列表,无需指定listKey和listValue属性,因为此处的下拉列表,不再用于发送请求参数,而仅仅是用于辅助输入,因此该下拉列表的value没有任何意义。(注:使用combobox标签时不能指定listKey和 listValue属性)
四、 使用s:datetimepicker生成日期选择框
简介
Datetimepicker标签生成一个日期,时间下拉选择框,当我们使用该日期,时间选择框选择某个日期,时间,系统会自动将选中的日期,时间输入指定文本框。
1. Jsp代码
<body>
<h3>使用使用s:datetimepicker生成日期选择框</h3>
<s:form theme="simple">
日期选择部件,指定toggleType属性,且指定value="today"<br>
<s:datetimepicker name="order.date" label="购买日期" toggleType="explode" value="today"/><hr>
日期选择部件,指定了format属性<br>
<s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日"/><hr>
日期选择部件,指定了weekStartsOn属性<br>
<s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日" weekStartsOn="2"/><hr>
时间选择部件<br>
<s:datetimepicker label="选择出发时间'" name="start" type="time" value="13:00"/><hr>
</s:form>
</body>
2. 页面效果
第一步
第二步
第三步 :
第四步:
备注
toggleType:指定日期选择框出现、隐藏的方式,可以选择plain,wipe,explode和fade4个值。
value:指定当前的日期,时间。可使用today来代表今天。
五、 使用s:select生成下拉选择框
简介
Select 标签用于生成一个下拉列表框,通过为该元素指定list属性,系统会使用list属性指定的集合来生成下拉列表框的选项。
1. Jsp代码
<body>
<h3>使用s:select生成下拉选择框</h3>
<s:form>
<!-- 使用简单集合来生成下拉选择框 -->
<s:select name="a" label="请选择您喜欢的图书" labelposition="top" multiple="true"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成下拉选择框 -->
<s:select name="b" label="请选择您想选择出版日期" labelposition="top"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来生成下拉选择框 -->
<s:select name="b" label="请选择您喜欢的图书" labelposition="top" multiple="true"
list="#bs.books"
listKey="author"
listValue="name"/>
</s:form>
</body>
2. 页面效果
第二步
六、使用s:radio生成多个单选框
简介
s:radio生成多个单选框。
1. Jsp代码
<body>
<h3>使用s:radio生成多个单选框</h3>
<s:form>
<!-- 使用简单集合来生成多个单选框 -->
<s:radio name="a" label="请选择您喜欢的图书" labelposition="top"
list="{'Spring2.0宝典' , 'Spring In Action' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成多个单选框 -->
<s:radio name="b" label="请选择您想选择出版日期" labelposition="top"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来生成多个单选框 -->
<s:radio name="c" label="请选择您喜欢的图书" labelposition="top"
list="#bs.books"
listKey="author"
listValue="name"/>
</s:form>
</body>
2、 页面效果
七、使用s:optgroup生成下拉选择框的选项组
简介
Optgroup标签用于生成一个下拉列表框的选项组。
1. Jsp代码
<body>
<h3>使用s:optgroup生成下拉选择框的选项组</h3>
<s:form>
<!-- 使用Map对象来生成下拉选择框的选项组 -->
<s:select label="选择您喜欢的图书"
name="book"
list="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于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>
</s:form>
</body>
2、 页面效果
第二步
八、使用s:optiontransferselect来生成可移动列表项的下拉列表框
简介
使用s:optiontransferselect来生成可移动列表项的下拉列表框。
1. Jsp代码
<body>
<h3>使用s:optiontransferselect来生成可移动列表项的下拉列表框</h3>
<s:form>
<!-- 使用简单集合对象来生成可移动的下拉列表框 -->
<s:optiontransferselect
label="请选择你喜欢的图书"
name="cnbook"
leftTitle="中文图书:"
rightTitle="外文图书"
list="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}"
multiple="true"
addToLeftLabel="向左移动"
selectAllLabel="全部选择"
addAllToRightLabel="全部右移"
headerKey="cnKey"
headerValue="--- 选择中文图书 ---"
emptyOption="true"
doubleList="{' J2EE Design and Development', 'The Definitive Guide'}"
doubleName="enBook"
doubleHeaderKey="enKey"
doubleHeaderValue="--- 选择外文图书 ---"
doubleEmptyOption="true"
doubleMultiple="true"
/>
</s:form>
</body>
2、 页面效果
备注:
如果我们不想用它默认的图标,我们可以添加标签,将它默认的覆盖掉:例如我们添加如下代码:
addToRightLabel="向右移动"
leftDownLabel="下移按钮 "
页面效果
九、使用s:updownselect生成可上下移动选项的下拉选择框
简介
Updownselect标签的用法非常类似于select标签的用法,区别是该标签声称的列表框可以支持选项的上下移动。
1. Jsp代码
<body>
<h3>使用s:updownselect生成可上下移动选项的下拉选择框</h3>
<s:form>
<!-- 使用简单集合来生成可上下移动选项的下拉选择框 -->
<s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"
moveUpLabel="向上移动"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成可上下移动选项的下拉选择框
且使用emptyOption="true"增加一个空选项-->
<s:updownselect name="b" label="请选择您想选择出版日期" labelposition="top"
moveDownLabel="向下移动"
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
listKey="key"
emptyOption="true"
listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来可上下移动选项的生成下拉选择框 -->
<s:updownselect name="c" label="请选择您喜欢的图书的作者" labelposition="top"
selectAllLabel="全部选择" multiple="true"
list="#bs.books"
listKey="author"
listValue="name"/>
</s:form>
</body>
2.页面效果
十、使用s:doubleselect生成级联下拉列表框
简介
1.Jsp代码
<body>
<h3>使用s:doubleselect生成级联下拉列表框</h3>
<s:form action="x" method="post" theme="simple">
<s:doubleselect
label="请选择您喜欢的图书"
name="author" list="{'李刚', 'David'}"
doubleList="top == '李刚' ? {'Spring2.0宝典', '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'} : {'JavaScript: The Definitive Guide'}"
doubleName="book"/>
</s:form>
</body>
2。页面效果
备注:
错误原因可能是我们的模板有bug.
十一、使用s:tree和s:treenode标签生成静态树
简介
1。Jsp代码
<body>
<s:tree label="计算机图书" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="李刚" id="yeeku">
<s:treenode theme="ajax" label="Spring2.0宝典" id="spring"/>
<s:treenode theme="ajax" label="轻量级J2EE企业应用实战" id="lightweight"/>
<s:treenode theme="ajax" label="基于J2EE的Ajax宝典" id="ajax"/>
</s:treenode>
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
<s:treenode theme="ajax" label="Johnson" id="Johnson">
<s:treenode theme="ajax" label="Expert One-on-One J2EE Design and Development" id="j2ee"/>
</s:treenode>
</s:tree>
</body>
2。页面效果
十二、使用s:append标签拼接两个集合
简介
使用s:append标签拼接 多个集合,组成一个新的集合。
1.Jsp代码
<body>
<s:append id="newList">
<s:param value="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}" />
<s:param value="{'新东方IT培训', '东方标准职业教育'}" />
</s:append>
<table border="1" width="240">
<s:iterator value="#newList" status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property/></td>
</tr>
</s:iterator>
</table>
</body>
2。页面效果
十三、使用s:append标签拼接集合和Map
简介
Append标签用于将多个集合对象拼接起来,组成一个新的集合。通过这种拼接,从而允许通过一个<s:iterator …/>标签就完成对多个集合的迭代。
1.Jsp代码
<body>
<s:append id="newList">
<s:param value="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于J2EE的Ajax宝典':'李刚'}" />
<s:param value="#{'新东方IT培训', '东方标准职业教育'}" />
</s:append>
<table border="1" width="240">
<s:iterator value="#newList" status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property value="key"/></td>
<td><s:property value="value"/></td>
</tr>
</s:iterator>
</table>
</body>
2.页面效果
十五、使用s:generator生成集合
简介
使用generator标签可以将指定字符串按指定分隔符分隔成多个子串,临时生成的多个子串可以使用iterator标签迭代输出。可以这样理解:generator将一个字符串转化成一个集合。在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,但一旦该标签结束,该集合将被移出ValueStack。
1.Jsp代码
<body>
<s:generator val="'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典'"
separator="," id="books" count="2"/>
<table border="1" width="240">
<%
java.util.Iterator i = (java.util.Iterator) pageContext.getAttribute("books");
while(i.hasNext())
{
String s = (String) i.next(); %>
<tr>
<td><%=s%></td>
</tr>
<%
}
%>
</table>
</body>
备注:如果指定了count属性,则以为这集合中最多只能包含count个元素(就是前coun个元素);如果指定了id属性,就可以将临时生成的集合放置到pageContext属性中。
2.页面效果
3.jsp代码
<body>
<table border="1" width="240">
<s:generator val="'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典'" separator=",">
<s:iterator status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property/></td>
</tr>
</s:iterator>
</s:generator>
</table>
</body>
4。页面效果
评论
8 楼
shuixian
2008-05-29
<s:param name="request_locale" value="zh_CN"/>
你的zh_CN就是一个写死的字段,不是一个Action 里的属性,所以必须写成
<s:param name="request_locale" value="'zh_CN'"/>
你的zh_CN就是一个写死的字段,不是一个Action 里的属性,所以必须写成
<s:param name="request_locale" value="'zh_CN'"/>
7 楼
kane82
2008-05-27
看下我的参数怎么不会显示在URL中呢?
代码如下:
生成的链接后面就是没有request_locale参数在,请看看!
代码如下:
<s:url id="url_zh" action="login_setLoc.action" includeParams="none" namespace="/login"> <s:param name="request_locale" value="zh_CN"/> </s:url> <s:url id="url_en" action="login_setLoc.action" includeParams="none" namespace="/login"> <s:param name="request_locale" value="en_US"/> </s:url> <s:a href="%{url_zh}">简体中文</s:a> <s:a href="%{url_en}">English</s:a>
生成的链接后面就是没有request_locale参数在,请看看!
<a href="/struts2_test/login/login_setLoc.action">简体中文</a> <a href="/struts2_test/login/login_setLoc.action">English</a>
6 楼
wangjian3q
2008-05-08
真的很好 谢了
5 楼
e.lofty
2008-02-18
[color=blue][/color]
4 楼
shuixian
2008-01-13
呵呵,当然是原创了!
3 楼
文鸯
2008-01-10
不错,是原创吗
2 楼
shuixian
2008-01-08
很遗憾,页面效果放不上去!以后有时间了再补充!
1 楼
Neptune_9999
2008-01-08
很不错,谢了,还有其他的标签呢?有补充么?
发表评论
-
Struts2.1.6(Convention插件0配置 )
2012-01-13 12:56 840在 Struts2.1.6中废 ... -
跳出当前iframe的js处理
2008-10-29 17:17 4745当前我有一个主页面, ... -
默认定位文本框焦点
2008-08-15 18:14 1988<HTML> <HEAD> ... -
登录过滤器
2008-07-28 13:46 2280一个简单的登录过滤器 public class Log ... -
request里的一些getXXX()方法
2008-07-26 14:30 1073假定请求的URL为 http://localhost:8080 ... -
imager也是submit
2008-03-06 15:08 1097<script type="text/java ... -
解压缩包
2007-11-09 10:04 1341上传压缩包,并获取各个文件的文件名称 java 代码 ... -
vaidation验证框架的应用及问题
2007-06-29 11:59 12181。最近在做验证框架这部分,发现了很多的问题,具体开发在文档里 ... -
Struts2下jsp页面标签的使用
2007-05-21 17:58 8803xml 代码文本框的使用 <s:te ... -
Struts2与Struts1的对比
2007-03-23 10:37 1107Action 类: • Struts1要求Action类继承一 ...
相关推荐
在本文中,我们将深入探讨Struts2.0标签的使用及其源码分析。 一、Struts2.0标签概述 Struts2.0标签库是基于OGNL(Object-Graph Navigation Language)表达式的,它提供了丰富的标签,如`s:property`、`s:textfield`...
首先,我们来看一下Struts 1.x与Struts 2.0标签库的区别。Struts 1.x的标签库按照功能分为HTML、Tiles、Logic和Bean等几个部分,而Struts 2.0的标签库虽然没有明确的分类,但通常我们可以将其分为两大类:非UI标签和...
在Struts2.0中,Action的执行方法通常命名为execute(),但并不强制,可以通过配置文件指定任何方法作为执行入口。当Action执行完毕后,返回一个字符串,这个字符串将决定页面的流转方向,比如“input”可能指向输入...
"Struts2.0新标签的用法 .doc"介绍了框架新增的标签功能,帮助开发者了解最新版本的特性,提升开发效率。 通过阅读"Struts2.0WEB.doc",你将对Struts2.0的整体架构和工作流程有更全面的认识,这有助于更好地理解...
Struts 2.0 是一个基于MVC(Model-View-Controller)设计模式的Java Web...在"struts2.0常用标签.txt"文件中,你可能会找到更多关于这些标签的详细使用示例和解释,这将有助于进一步学习和掌握Struts 2.0 标签的用法。
以下是一些Struts 2.0 UI标签的主要类型及其用法: 1. `<s:textfield>`:用于创建输入文本框,可以设置属性如name(与Action类的字段对应)、label(显示的标签)、size(宽度)等。 2. `<s:textarea>`:生成多行...
### Struts 2.0 详细配置解析 #### 一、Struts 2.0 简介 Struts 2.0 是一个基于 Java 的开源框架,用于开发 Web 应用程序。它继承了 Struts 1.x 的优点,并在架构上进行了改进,更加灵活且易于扩展。Struts 2.0 ...
十二、Struts2.0的新表单标签使用技巧 Struts2.0引入了一系列新的表单标签,如、、等,它们提供了更丰富和灵活的表单元素,支持客户端验证和服务器端验证的无缝集成。 十三、Struts2.0与AJAX的融合 AJAX技术的...
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0学习系列"旨在帮助初学者及进阶者深入理解并...
本文将深入探讨Struts2.0标签的用途与用法。 一、Struts2.0标签概述 Struts2的标签库分为核心标签库和主题标签库。核心标签库提供用于控制流程和展示数据的基本功能,而主题标签库则用于实现视图层的各种展示效果。...
四、Struts2.0标签库 Struts2.0提供了丰富的标签库,用于在视图层构建动态网页,如`s:form`用于表单,`s:textfield`用于文本输入,`s:submit`用于提交按钮,`s:action`用于异步请求等。这些标签简化了JSP代码,提高...
"Struts2.0中文教程.zip"可能是一系列的教程集合,包含了Struts2.0的进阶主题,如动态方法调用(Dynamic Method Invocation,DMI)、OGNL(Object-Graph Navigation Language)表达式语言的使用、异常处理机制、国际...
这个压缩包文件包含了关于Struts2.0的经典书籍、源码以及标签的学习资源,对于想要深入理解和使用Struts2.0的人来说,是一份非常宝贵的资料。 首先,让我们从"经典书籍"入手。Struts2.0的书籍通常会涵盖以下知识点...
以上是 Struts2.0 标签库的一些基本用法,它们极大地提高了 JSP 页面的可读性和维护性。在实际开发中,还可以配合其他标签,如表单标签 `<s:form>`、字段标签 `<s:textfield>`、`<s:textarea>` 等,实现更加复杂的...
Struts2.0是Apache软件基金会的一个开源框架,主要用于构建基于Java EE的Web应用程序。它在原有的Struts1.x的基础上进行了重大改进,引入了更多现代Web开发的最佳实践和设计模式,提高了开发效率和代码可维护性。这...
这个都市供求信息系统全面展示了Struts2.0的使用,包括模型-视图-控制器的设计、数据库交互、用户认证、国际化支持等多个方面,为学习和实践Struts2.0提供了一个良好的平台。通过分析和重构这个项目,开发者可以深化...
Struts 2.0是Java Web开发中广泛使用的MVC框架,它提供了丰富的标签库,大大简化了视图层的开发。这篇文档将详细介绍Struts 2.0中的一些常用标签库及其应用。 1. **核心标签库 (`struts2-core`)**: - `s:property`...
以上只是Struts2.0标签库的一部分,还有许多其他的标签如`<s:component>`(用于显示图像)、`<s:date>`(用于格式化日期)等,每个标签都有其特定的功能和用途,可以根据实际需求灵活选择使用。 #### 三、总结 ...
"jsp中struts2.0标签应用示例"这个主题主要关注如何在JSP页面中利用Struts2.0提供的标签进行视图层的构建,通过实际例子展示了`<s:form>`、`<s:textfield>`、`<s:password>`、`<s:select>`等常用标签的使用,...