- 浏览: 680572 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
struts2标签02
34. property
property标签用于输出值栈中的对象的属性值,使用value属性来指定要输出的对象属性,如果没有指定value属性,那么默认输出栈顶对象。
属性如下:
1. default: 可选,如果需要输出的属性值为null,则显示的default属性指定的值
2. escape: 可选,指定是否escapeHTML代码
3. value: 可选,指定需要输出的属性值。如果没指定,默认输出ValueStack栈顶的值
4. id: 可选,指定该元素的标识
例子:
<s:property value="username" default="游客"/>
取出栈顶对象(通常是action)的username 属性并输出,如果没有找到username属性,那么输出“游客”。
35. push
push标签用于将某个值放到ValueStack的栈顶,可以跟简单的访问该值。
属性:
value: 必填,指定需要放到ValueStack栈顶的值\
id: 可选,指定该标签的ID
下面代码,讲一个值放到ValueStack的栈顶,从而可以通过<s:property.../>标签来访问
代码如下:
<!--使用bean标签创建一个JavaBean实例,并将其放入Stack Context中-->
<s:bean name="lee.Person" id="p">
<s:param name="name" value="'yeeku'"/>
<s:param name="age" value="29"/>
</s:bean>
<s:push value="#p">
<s:property value="name"/>
<s:propery value="age"/>
</s:push>
36. radio
radio标签的用法与checkboxlist的用法几乎完全相同,一样可以指定label, list, listKey, listValue等属性。例子代码如下:
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>使用s:radio生成多个单选框</title>
<s:head/>
</head>
<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月' , '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>
</html>
37. reset
reset标签
reset标签输出一个重置按钮
名称 |
必需 |
默认 |
类型 |
描述 |
type |
否 |
input |
String |
要使用的重置按钮的内容,input、button |
例子:
<s:reset value="重置"></s:reset>
<s:reset type="button" label="重置"></s:reset>
38. select
下拉列表
s:select 标签输出一个下拉列表框,相当于HTML代码中的<select/>
名称 |
必需 |
默认 |
类型 |
描述 |
list |
是 |
无 |
Cellection Map Enumeration Iterator array |
要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容 |
listKey |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的value |
listValue |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的内容 |
headerKey |
否 |
无 |
String |
设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置 空值 |
headerValue |
否 |
无 |
String |
显示在页面中header选项内容 |
emptyOption
|
否
|
false
|
Boolean
|
是否在header选项后面添加一个空选项 |
multiple |
否 |
false |
Boolean |
是否多选 |
size |
否 |
无 |
Integer |
显示的选项个数 |
例子:
<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<h3>使用name和list属性,list属性的值是一个列表</h3>
<s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"/>
</s:form>
<h3>使用name和list属性,list属性的值是一个Map</h3><s:form>
<s:select label="最高学历" name="education" list="#{1:'高中',2:'大学',3:'硕士',4:'博士'}"/>
</s:form>
<h3>使用headerKey和headerValue属性设置header选项</h3><s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}" headerKey="-1" headerValue="请选择您的学历"/></s:form>
<h3>使用emptyOption属性在header选项后添加一个空的选项</h3>
<s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"
headerKey="-1" headerValue="请选择您的学历"
emptyOption="true"/>
</s:form>
<h3>使用multiple属性设置多选</h3>
<s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"
headerKey="-1" headerValue="请选择您的学历"
emptyOption="true"
multiple="true"/></s:form>
<h3>使用size属性设置下拉框可显示的选项个数</h3>
<s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}" headerKey="-1" headerValue="请选择您的学历”
emptyOption="true"
multiple="true" size="8"/>
</s:form>
<h3>使用listKey和listValue属性,利用Action实例的属性(property)来设置选项的值和选项的内容</h3>
<s:form>
<s:select label="最高学历" name="education" list="educations"
listKey="id" listValue="name"/>
</s:form>
39. set
set标签是将某个值放到指定范围内, 比如说 student.teacher.parent.age 每次访问这个属性不仅性能低,而且代码可读性很差,为了解决这个问题,可以将这个值设置为一个新值,并且放入指定范围内。
标签属性:
name 是必填属性,是重新生成的新变量的名字
scope 可选属性,指定新变量被放置的范围,可以接受application,session,request,page,action 这5个值 没有指定默认是Stack Context中
value 可选属性,指定变量的值 如果没有指定,使用ValueStack栈顶的值赋给新变量
id 可选属性,指定新元素的引用ID
下面是个例子:
<!-- 使用bean标签定义一个javaBean实例--!>
<s:bean name="lee.Person" id="p">
<s:param name="name" value="zhangsan"/>
<s:param name="age" value="29"/>
</s:bean>
将p放入默认范围内
<s:set value="#p" name="test"/>
<s:property value="#test.name"/> <br>
<s:property value="#test.age"/> <br>
将p放入application范围内。
<s:set value="#p" name="test" scope="application"/>
<s:property value="#attr.test.name"/> <br>
<s:property value="#attr.test.age"/> <br>
将p放入session范围内。
<s:set value="#p" name="test" scope="session"/>
${sessionScope.test.name} <br>
${sessionScope.test.age} <br>
40.sort
对一个可以迭代的对象进行排序操作。
参数
名字 |
是否必须 |
默认值 |
可否使用表达式 |
类型 |
描述 |
Comparator |
是 |
|
是 |
java.util.Comparator |
排序用的比较器 |
Source |
否 |
|
是 |
String |
排序对象 |
例1:
<s:sort comparator="myComparator" source="myList"> <s:iterator>
<!-- do something with each sorted elements -->
<s:property value="..." />
</s:iterator></s:sort>
例2:
<s:sort id="mySortedList" comparator="myComparator" source="myList" />
<% Iterator sortedIterator = (Iterator) pageContext.getAttribute("mySortedList");
for (Iterator i = sortedIterator; i.hasNext(); ) {
// do something with each of the sorted elements
}
%>
41. submit
按钮
Submit标签输出一个按钮,submit标签和form标签使用可以提供异步表单提交功能。Submit标签可以输出以下三种类型的提交按钮:
Input: 等价于 HTML代码<input type=”submit”>
Image: 等价于 HTML代码 <input type="image">
Button:<button type="submit"></button>
名称 |
必需 |
默认 |
类型 |
描述 |
type
|
否
|
input
|
String
|
要使用的提交按钮的类型,有效值:input button image |
src
|
否
|
无
|
String
|
为image类型的提交按钮设置图片地址。该属性对input和button类型的提交按钮无效 |
action |
否 |
无 |
String |
指定处理提交请求的action |
method |
否 |
无 |
String |
指定处理提交请求的action的方法 |
实例
实例1.
<s:submit type="image" method="login" src="images/login.jpg"></s:submit>
页面输出:
<input type="image" alt="Submit" src="images/login.jpg" id="user__login" name="method:login" value="Submit"/>
实例2.<s:submit type="button" action="selectTag" method="login" label="登陆"></s:submit>
页面输出:
<button type="submit" id="user_selectTag_login" name="action:selectTag!login" value="Submit">登陆</button>
Struts2预定义的前缀:
1。method method:login
使用method前缀,来取代action默认的execute()方法的执行。
<s:form action="user">
<s:textfield name="user.username" label="用户名"></s:textfield>
<s:textfield name="user.password" label="密码"></s:textfield>
<s:submit value="登陆" name="method:login"></s:submit>
<s:submit value="注册" name="method:register"></s:submit>
</s:form>
注意:1。input类型的按钮,不能用label设置按钮上的文本,只能用value
2、action前缀
使用action前缀,取代form标签指定的action,导向到另一个action进行处理。
<s:form action="login">
<s:textfield name="user.username" label="用户名"></s:textfield>
<s:textfield name="user.password" label="密码"></s:textfield>
<s:submit value="登陆"></s:submit>
<s:submit value="注册" name="action:register"></s:submit>
</s:form>
2、redirect前缀
使用redirect前缀请求重定向到其他的url,甚至可以是web英语程序外部的url。
<s:form action="login">
<s:textfield name="user.username" label="用户名"></s:textfield>
<s:textfield name="user.password" label="密码"></s:textfield>
<s:submit value="登陆"></s:submit>
<s:submit value="搜索" name="redirect:www.google.com"></s:submit>
</s:form>
2、redirect-action前缀
使用redirect-action前缀请求重定向到其他的action.
<s:form action="login">
<s:textfield name="user.username" label="用户名"></s:textfield>
<s:textfield name="user.password" label="密码"></s:textfield>
<s:submit value="登陆"></s:submit>
<s:submit value="搜索" name="redirect-action:register"></s:submit>
</s:form>
42. subset
递归iterator的一部分。
参数
名字 |
是否必须 |
默认值 |
可否使用表达式 |
类型 |
描述 |
count |
False |
|
是 |
Integer |
Iterator中被递归的一部分的item的数量 |
Decider |
否 |
|
是 |
org.apache.struts2.util. SubsetIteratorFilter.Decider |
用来判断iterator中的item是否包含在最终的subset内部 |
Source |
否 |
|
是 |
String |
Iterator的对象 |
Start |
否 |
|
是 |
Integer |
开始位置 |
例子
Java类
public class MySubsetTagAction extends ActionSupport {
public String execute() throws Exception {
l = new ArrayList();
l.add(new Integer(1));
l.add(new Integer(2));
l.add(new Integer(3));
l.add(new Integer(4));
l.add(new Integer(5));
return "done";
}
public Integer[] getMyArray() {
return a;
}
public List getMyList() {
return l;
}
public Decider getMyDecider() {
return new Decider() {
public boolean decide(Object element) throws Exception {
int i = ((Integer)element).intValue();
return (((i % 2) == 0)?true:false);
}
};
}
}
<!-- s: List basic -->
<s:subset source="myList">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
<!-- B: List with count -->
<s:subset source="myList" count="3">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
<!-- C: List with start -->
<s:subset source="myList" count="13" start="3">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
<!-- D: List with id -->
<s:subset id="mySubset" source="myList" count="13" start="3" />
<%
Iterator i = (Iterator) pageContext.getAttribute("mySubset");
while(i.hasNext()) {
%>
<%=i.next() %>
<% } %>
<!-- D: List with Decider -->
<s:subset source="myList" decider="myDecider">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
43. tabbedPanel
<s:tabbedPanel>标签,用来在HTML页面中生成类似于Windows程序的Tab页,从而可以在有限的空间中放置更多的内容。tabbedPanel标签生成的Tab页的内容可以是静态的,也可以是动态的。如果是静态的,则直接指定Tab页面的内容,如果是动态的,则可以使用Ajax方式来动态加载Tab页的内容。
tabbedPanel标签生成整个Tab框架,而tabbedPanel标签类的div子标签则生成的单独的Tab页,每个div标签生成一个Tab页。因为div标签本身是一个Ajax标签,允许内容动态改变,因此每个Tab页的内容可以动态改变。
1 、 创建action类,类名为DateACtion.java,包名为:com.teana.action,代码如下:
package com.teana.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
/**
* @author TEANA -- 2010-4-10
* struts2 ajax submit 按钮应用
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
public class DateAction extends ActionSupport
{
private static final long serialVersionUID = 5709206967517064698L;
private Date now;
public Date getNow()
{
return now;
}
public void setNow(Date now)
{
this.now = now;
}
public String execute() throws Exception
{
now = new Date();
return SUCCESS;
}
}
2、创建tabbedPanel.jsp页面,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>struts 2 ajax s:div</title>
<s:head theme="ajax"/>
</head>
<body>
<center>
<br/><br/>
<h5 style="color: purple;">struts2 s:tabbedPanel 实现AJAX效果</h5>
<br/>
</center>
<s:url id="T" value="getDate.action" />
<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>
</body>
</html>
3 、在struts.xml文件中配置action,代码如下:
……
<action name="getDate" class="com.teana.action.DateAction">
<result>/jsp/ajax/showDate.jsp</result>
</action>
……
4 、编写showDate.jsp页面,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
服务器的当前时间为:<font color="red"><s:date name="now" format="yyyy-MM-dd HH:mm:ss"/></font>
</body>
</html>
44. text
用于输出国际化消息,和i18n结合使用。
示范代码:
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld" />
</s:i18n>
详细情况请参考 i180n
45. textarea
Textarea标签输出一个HTML多行文本输入控件,等价于HTML代码:<textarea />
名称 |
必需 |
默认 |
类型 |
描述 |
cols |
否 |
无 |
Integer |
列数 |
rows |
否 |
无 |
Integer |
行数 |
readonly |
否 |
false |
Boolean |
当该属性为true时,不能输入 |
wrap |
否 |
false |
Boolean |
指定多行文本输入控件是否应该换行 |
id
|
否
|
|
Object/String
|
用来标识元素的id。在ui和表单中为HTML的id属性
|
例子:
<s:textarea name="personal" cols="10" rows="5" label="个人简历"></s:textarea>
45. textfield
单行文本框
Textfield标签输出一个HTML单行文本输入控件,等价于HTML代码<input type=”text”>
名称 |
必需 |
默认 |
类型 |
描述 |
maxlength |
否 |
无 |
Integer |
文本输入控件可以输入字符的最大长度 |
readonly |
否 |
false |
Boolean |
当该属性为true时,不能输入 |
size |
否 |
无 |
Integer |
指定可视尺寸 |
id |
否 |
|
Object/String |
用来标识元素的id。在ui和表单中为HTML的id属性 |
例子:
<s:form action="register" method="post">
<s:textfield name="username" label="用户名"></s:textfield>
</s:form>
46. token
token标签是用于防止多次提交的标签。避免了刷新页面时多次提交,如果需要该标签起作用,则应该在Struts2的配置文件中启用TokenInterceptor拦截器或TokenSessionStoreInterceptor拦截器。
token标签的实现原理是在表单中拉架一个隐藏域,每次加载该页面时,该隐藏域的值都不相同。而TokenInterceptor拦截器则拦截所有用户请求,如果两次请求时该隐藏域的值相同,则阻止表单提交。
使用该标签很简单,如下代码:
<h3>使用s:token防止重复提交</h3>
<s:form>
<s:token/>
</s:form>
从访问后产生的HTML页面的源代码可以看到如下HTML代码:
<input type="hidden" name="struts.token.name" value="struts.token"/>
<input type="hidden" name="struts.token" value="NUM1WVZQO3QTGKNZAKD7OA7C2YKWULVJ"/>
47. tree
tree和treenode标签可以在页面生成一个树形结构,其中tree生成一个树形结构,treenode生成一个树节点。例子如下:
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>使用s:tree和s:treenode标签生成静态树</title>
<s:head theme="ajax" debug="true"/>
</head>
<body>
<h3>使用s:tree和s:treenode标签生成静态树</h3>
<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="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>
</html>
48. treenode
tree和treenode标签可以在页面生成一个树形结构,其中tree生成一个树形结构,treenode生成一个树节点。例子如下:
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>使用s:tree和s:treenode标签生成静态树</title>
<s:head theme="ajax" debug="true"/>
</head>
<body>
<h3>使用s:tree和s:treenode标签生成静态树</h3>
<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="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>
</html>
49. updownselect
updownselect标签
updownselect标签创建一个带有上下移动的按钮的列表框,可以通过上下移动按钮来调整列表框的选项的位置。
名称 |
必需 |
默认 |
类型 |
描述 |
list
|
是
|
无
|
Cellection Map Enumeration Iterator array |
要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容 |
listKey |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的value |
listValue |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的内容 |
headerKey |
否 |
无 |
String |
设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置空值 |
headerValue |
否 |
无 |
String |
显示在页面中header选项内容 |
emptyOption
|
否
|
false
|
Boolean
|
是否在header选项后面添加一个空选项 |
multiple |
否 |
false |
Boolean |
是否多选 |
size |
否 |
无 |
Integer |
显示的选项个数 |
moveUplabel |
否 |
|
String |
设置向上移动按钮上的文本 |
moveDownLabel |
否 |
|
String |
设置向下移动按钮上的文本 |
selectAllLabel |
否 |
|
String |
设置向全部选择按钮上的文本 |
allowMoveUp |
否 |
无 |
Boolean |
设置是否使用向上移动按钮 |
allowMoveDown |
否 |
无 |
Boolean |
设置是否使用向下移动按钮 |
allowSelectAll |
否 |
无 |
Boolean |
设置是否使用全部选择按钮 |
实例:
<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="com.zhaosoft.ui.formtag.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来可上下移动选项的生成下拉选择框 -->
<s:updownselect name="c" label="请选择您喜欢的图书的作者" labelposition="top"
selectAllLabel="全部选择" multiple="true"
list="#bs.books"
listKey="author"
listValue="name"/>
</s:form>
package com.zhaosoft.ui.formtag;
public class BookService
{
public Book[] getBooks()
{
return new Book[]
{
new Book("Spring2.0宝典","zhaosoft"),
new Book("轻量级J2EE企业应用实战","zhaosoft"),
new Book("基于J2EE的Ajax宝典","zhaosoft")
};
}
}
50. url
url标签 用于生成一个URL地址,可以通过param向url标签指定参数,从而指定URL发送请求参数。
url标签的属性:
includeParams: 可选,指定是否包含请求参数。该属性的属性值只能为none,get或者all
scheme: 可选,用于设置scheme属性
value: 可选,指定生成URL的地址。如果不提供就用action属性指定的Action作为URL地址值。
action: 可选,指定生成URL的地址为哪个Action,如果Action不提供,就使用value作为URL的地址值。
namespace: 可选,该属性指定命名空间
method: 可选,指定使用Action的方法
encode: 这是一个可选属性,指定是否需要encode请求参数
includeContext: 可选,指定是否需要将当前上下文包含在URL地址中。
anchor: 可选,指定URL的描点。
id: 可选,指定该url元素的引用id
action属性和value属性的作用大致相同。指定action属性,系统会在指定属性后加.action后缀。如果两个都没有指定,就以当前页作为URL的地址值。
实例代码如下:
只指定value属性:<br>
<s:url value="editGadget.action"/>
<hr>
指定action属性,且使用param传入参数的形式。<br>
<s:url action="showbook">
<s:param name="author" value="'yeeku'">
</s:url>
既不指定action属性,也不指定value属性,且使用param传入参数的形式。<br>
<s:url includeParams="get" >
<s:param name="id" value="%{'22'}" /> <!--这里%{ } 有疑问 -->
</s:url>
<hr>
同时指定action属性和value属性,且使用param传入参数的形式<br>
<s:url action="showBooke" value="xxxx">
<s:param name="author" value="'yeeku'" />
</s:url>
<!--EndFragment-->发表评论
-
Struts2学习笔记
2013-07-27 10:42 1118Struts2学习笔记 1.官网下载包 URL:http ... -
Spring分别与Struts1.x 和Struts2.x集成方法
2012-11-16 14:05 1457Spring分别与Struts1.x 和Struts2.x集成 ... -
Struts2_Action处理类获取Scope对象
2012-11-16 14:05 490Struts2_Action处理类获取Scope对象 1 ... -
Struts2一个Action内包含多个请求处理方法(三种方式)
2012-11-12 09:29 1137Struts2一个Action内包含多个请求处理方法(三种方式 ... -
struts2中 ServletActionContext与ActionContext区别 .
2012-10-30 17:29 1077http://blog.csdn.net/lushuaiyin ... -
上传功能的实现(Struts2)
2012-10-12 09:18 1105上传功能的实现(Struts2) 在WebRoot根目录新建 ... -
Struts2配置文件详解
2012-10-08 14:33 997struts2共有4类配置文件, struts.pr ... -
Action处理类
2012-10-08 14:16 852Action处理类 一、可以实现Action接口 ... -
struts2标签01
2012-10-08 13:42 1468Struts 2标签01 1.a 3 2.actio ... -
type="diapatcher Redirect RedirectAction"配置文件struts.xml
2012-10-08 11:23 3441type="diapatcher Redirec ... -
在Struts2里使用HttpServletRequest、HttpSession、ServletContext
2012-10-07 23:56 1159在Struts2里使用HttpServletRequest、H ... -
Struts2工作原理
2012-10-07 22:41 1035Struts2工作原理 处理原理: 1.客户初 ... -
struts2标签:<s:iterator 中的status 使用方法
2012-09-22 21:20 5878【转】<s:iterator 中的status 使用方法 ... -
serialVersionUID = -8204063374280945416L;
2012-09-22 11:05 989serialVersionUID 实现java.io ... -
模拟struts2处理原理
2012-10-09 00:08 1130模拟struts 2处理原理 模拟struts2处理流程的原 ... -
<s:radio> struts标签
2012-09-07 09:52 1158遇到的问题:在使用该标签时,设置了默认选中项,但提交数据返回后 ...
相关推荐
struts2标签库struts2标签库struts2标签库struts2标签库
struts2标签使用例子 struts2标签使用例子 struts2标签使用例子struts2标签使用例子
主要介绍了struts2的标签的详细使用例子说明
struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签
Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库
STRUTS:struts2标签库
struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库
有关、相关、类似这样的Struts 2标签库的详细介绍。
Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...
struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置文件进行了详细的说明。 Struts2―表单验证validate(html)对validate的type属性...
可对struts2 标签如等相应列进行求和.
JSP_struts2标签大全
史上最全的struts2标签史上最全的struts2标签
struts2标签详解(经典)struts2标签详解(经典)struts2标签详解(经典)
利用Struts 2标签创建ex3.jsp页面,此页面提交给tag.action,在structs.xml中配置这个action的转发视图为result.jsp在result.jsp页面中显示ex3.jsp页面控件的值。(源代码和实验报告)
struts2标签+ tiles lib
struts2标签使用方法以及el表达式的使用,整理收集供参考
Struts2标签详解及具体实例解析,可作为Struts2标签的帮助文档,而且还有具体实例解析
绝对是你想要的,关于struts2标签库的详细讲解,java 框架
自制的struts2标签chm格式,可以方便快速查询查看