要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部加入以下的代码:
<%@taglib prefix="s" uri="/struts-tags" %>
If elseif else
描述:
执行基本的条件流转。
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
备注 |
test |
是 |
|
boolean |
决定标志里的内容是否显示的表达式 |
else标志没有这个参数 |
id |
否 |
|
Object/String |
用来标识元素的id。在UI和表单中为HTML的id属性 |
|
例子:
<s:set name="age" value="61"/>
<s:if test="${age > 60}">
老年人
</s:if>
<s:elseif test="${age > 35}">
中年人
</s:elseif>
<s:elseif test="${age > 15}"id="wawa">
青年人
</s:elseif>
<s:else>
少年
</s:else>
<s:set name="name" value="<%="'"+ request.getParameter("name")+"'"%>"/>
<%
System.out.println(request.getParameter("name"));
%>
<s:if test="#name=='zhaosoft'">
zhaosoft here
</s:if>
<s:elseif test="#name=='zxl'">
zxl here
</s:elseif>
<s:else>
other is here
</s:else>
Iterator(迭代)
描述:用于遍历集合(java.util.Collection)或枚举值(java.util.iterator)
参数
名称 |
必需 |
默认 |
类型 |
描述 |
status |
否 |
|
String |
如果设置此参数,一个IteratorStatus的实例将会压入每一个遍历的堆栈 |
value |
否 |
|
Object/String |
要遍历的可枚举的(iteratable)数据源,或者将放入的新列表(List)的对想 |
id |
否 |
|
Object/String |
用来标识元素的id。在ui和表单中为HTML的id属性 |
I18n(国际化操作)
描述:
加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息。而不只当前的action相关联的资源包。
名称 |
必需 |
默认 |
类型 |
描述 |
name |
是 |
|
Object/String |
资源包的类路径(如com.xxxx.resources.AppMsg) |
id |
否 |
|
Object/String |
用来标识元素的id。在ui和表单中为HTML的id属性 |
Include
描述:包含一个servlet的输出(servlet或jsp的页面)
名称 |
必需 |
默认 |
类型 |
描述 |
value |
时 |
|
String |
要包含的jsp页面或servlet |
id |
否 |
|
Object/String |
用来标识元素的id。在ui和表单中为HTML的id属性 |
param
描述:属性是可选的,如果提供,会调用Component的方法,addParameter(String,Object),如果不提供,则外层嵌套标签必须实现UnnamedParametric接口。
Value的提供有两种方式,通过value属性或者标签中间的text,不同之处:
<s:param name="name">zhaosoft</s:param>
参数会以String的格式放入statck
<s:param name="name" value="zhaosoft"/>
该值会以java.lang.Object的格式放入statck
名称 |
必需 |
默认 |
类型 |
描述 |
name |
否 |
|
String |
参数名 |
value |
时 |
|
String |
value表达式 |
id |
否 |
|
Object/String |
用来标识元素的id。在ui和表单中为HTML的id属性 |
set
描述:set标签赋予变量一个特定范围内的值。当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。其在两种情况下非常有用:复杂的表达式很耗时(性能提升)或者很难理解(代码的可读性提高)
参数:
名称 |
必需 |
默认 |
类型 |
描述 |
name |
是 |
|
String |
变量名字 |
scope |
否 |
|
String |
变量作用域,可以为application,session,request,page,action |
value |
否 |
|
Object/String |
将会赋给变量的值 |
id |
否 |
|
Object/String |
用来标识元素的id。在ui和表单中为HTML的id属性 |
Text
描述:支持国际化信息的标签。国际化信息必须放在一个和当前action同名的resource bundle中,如果没有找到相应message,tag body将被当作默认的message,如果没有tag body,message的name会被作为默认message.
名称 |
必需 |
默认 |
类型 |
描述 |
name |
是 |
|
String |
资源属性的名字 |
id |
否 |
|
Object/String |
用来标识元素的id。在ui和表单中为HTML的id属性 |
url
描述:该标签用于创建url,可以通过”param”标签提供request参数。
当includeParams的值是all或get,param标签中定义的参数将有优先权,也就是说其会覆盖其他同名参数的值。
UI标志
单行文本框
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>
文本框区
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>
下拉列表
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
doubleselect标签
doubleselect标签输出关联的两个HTML列表框,产生联动效果。
名称 |
必需 |
默认 |
类型 |
描述 |
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 |
|
multiple |
否 |
false |
Boolean |
是否多选 |
size |
否 |
无 |
Integer |
显示的选项个数,该选项只对第一个列表框起作用 |
doubleId |
否 |
无 |
String |
指定第二个列表框的ID |
doubleList |
是 |
无 |
Cellection Map Enumeration Iterator array |
要迭代的集合 |
doubleListKey |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表框起作用 |
doubleListValue |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用 |
doubleSize |
否 |
无 |
Integer |
选项个数 |
doubleName |
否 |
无 |
String |
指定第二个列表框的name映射 |
doubleValue |
否 |
无 |
Object |
第二个列表框的初始选种项 |
实例:
<s:form name="test">
<s:doubleselect label="请选择所在省市"
name="province" list="{'四川省','山东省'}" doubleName="city"
doubleList="top == '四川省' ? {'成都市', '绵阳市'} : {'济南市', '青岛市'}" />
</s:form>
<s:form action="doubleselectTag">
<s:doubleselect
label="请选择所在省市"
name="province"
list="provinces"
listKey="id"
listValue="name"
doubleList="cities"
doubleListKey="id"
doubleListValue="name"
doubleName="city"
headerKey="-1"
headerValue="---------- 请选择 ----------"
emptyOption="true" />
</s:form>
复选框
名称 |
必需 |
默认 |
类型 |
描述 |
fieldValue |
是 |
true |
String |
指定在复选框选中时,实际提交的值 |
复选框组,对应Action中的集合
名称 |
必需 |
默认 |
类型 |
描述 |
list |
是 |
无 |
Cellection Map Enumeration Iterator array |
要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容 |
listKey |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的value |
listValue |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的内容 |
例子:checkboxlistTag.jsp
<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:form>
<s:checkboxlist name="interest" list="{'足球','篮球','排球','游泳'}" label="兴趣爱好"/>
</s:form>
单击复选框
文件选择组建
file标签输出一个HTML文件选择框。
名称 |
必需 |
默认 |
类型 |
描述 |
accept |
否 |
input |
String |
HTML accept属性,指出接受文件的MIME类型 |
按钮
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>
reset标签
reset标签输出一个重置按钮
名称 |
必需 |
默认 |
类型 |
描述 |
type |
否 |
input |
String |
要使用的重置按钮的内容,input、button |
<s:reset value="重置"></s:reset>
<s:reset type="button" label="重置"></s:reset>
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;
publicclass BookService
{
public Book[] getBooks()
{
returnnew Book[]
{
new Book("Spring2.0宝典","zhaosoft"),
new Book("轻量级J2EE企业应用实战","zhaosoft"),
new Book("基于J2EE的Ajax宝典","zhaosoft")
};
}
}
optiontransferselect标签
optiontransferselect标签创建一个选项转移列表组建,它由两个<select>标签以及它们之间的用于将选项在两个<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选项内容 |
multiple |
否 |
false |
Boolean |
是否多选 |
size |
否 |
无 |
Integer |
显示的选项个数,该选项只对第一个列表框起作用 |
doubleId |
否 |
无 |
String |
指定第二个列表框的ID |
doubleList |
是 |
无 |
Cellection Map Enumeration Iterator array |
要迭代的集合,使用集合中的元素来设置各个选项,如果doubleList的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容,该选项只对第二个列表框起作用 |
doubleListKey |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表框起作用 |
doubleListValue |
否 |
无 |
String |
指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用 |
doubleHeaderKey |
否 |
无 |
String |
设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置空值 |
doubleHeaderVale |
否 |
无 |
String |
显示在页面中header选项内容 |
doubleEmptyOption |
否 |
无 |
String |
是否在第二列表框的header后面添加一个空选项 |
doubleMultiple |
否 |
true |
Boolean |
是否多选 |
doubleSize |
否 |
无 |
Integer |
选项个数 |
doubleName |
否 |
无 |
String |
指定第二个列表框的name映射 |
doubleValue |
否 |
无 |
Object |
第二个列表框的初始选种项 |
leftTitle |
否 |
无 |
String |
左边列表框的标题 |
rightTitle |
否 |
<- |
String |
右边列表框的标题 |
addToLeftLable |
否 |
|
String |
|
addToRightLable |
|
|
|
|
addAllToLeftLable |
|
|
|
|
addAllToRightLable |
|
|
|
|
leftUpLabel |
|
|
|
|
leftDownLabel |
|
|
|
|
rightUpLabel |
|
|
|
|
rightDownLabel |
|
|
|
|
allowAddToLeft |
|
|
|
|
allowAddToright |
|
|
|
|
allowAddAllToLeft |
|
|
|
|
allowAddAllToRight |
|
|
|
|
allowSelectAll |
否 |
无 |
Boolean |
设置是否使用全部选择按钮 |
allowUpdownOnLeft |
|
|
|
|
allowUpDownOnRight |
|
|
|
|
例子:
<s:head/>
<s:form>
<s:optiontransferselect
label="最喜爱的图书"
name="javaBook"
list="{'《Java Web开发详解》', '《Struts 2深入详解》', '《Java快速入门》'}"
doubleName="cBook"
doubleList="{'《VC++深入详解》', '《C++ Primer》', '《C++程序设计语言》'}"/>
</s:form>
---------------------------
<s:form>
<s:optiontransferselect
label="最喜爱的图书"
name="book1"
leftTitle="Java图书"
rightTitle="C/C++图书"
list="{'《Java Web开发详解》', '《Struts 2深入详解》', '《Java快速入门》'}"
headerKey="-1"
headerValue="--- 请选择 ---"
emptyOption="true"
doubleName="book2"
doubleList="{'《VC++深入详解》', '《C++ Primer》', '《C++程序设计语言》'}"
doubleHeaderKey="-1"
doubleHeaderValue="--- 请选择 ---"
doubleEmptyOption="true"
addToLeftLabel="向左移动"
addToRightLabel="向右移动"
addAllToLeftLabel="全部左移"
addAllToRightLabel="全部右移"
selectAllLabel="全部选择"
leftUpLabel="向上移动"
leftDownLabel="向下移动"
rightUpLabel="向上移动"
rightDownLabel="向下移动"/>
</s:form>
相关推荐
struts2的新表单标志的使用 struts2与AJAX一 struts2与AJAX二 struts2与AJAX三 struts2中用Spring实现IOC struts2中的零配置与IOC struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 ...
struts的标志库
01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——...12 Struts 2的新表单标志的使用 13 Struts 2与AJAX
01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——...12 trus 2的新表单标志的使用 13 Struts 2与AJAX
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 ...Strus 2的新表单标志的使用 Struts 2与AJAX
作为最成功的Web框架,Struts自然拥有众多的优点:MVC 2模型的使用、功能齐全的标志库(Tag Library)、开放源代码。而Spring的出现,在某些方面极大的方面了Struts的开发。同时,Hibernate作为对象持久化的框架,能...
MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易引起“类爆炸” 单元测试困难 这些缺点随着Web的发展...
在当今——Web 2.0概念铺天盖地的Internet环境下,简易的AJAX集成对于一个成功的WEB框架来说是不可或缺的。因此,Struts 2其中的一个重要的功能(Feature)...而且使用这些AJAX标志与普通的Struts标志同样简单)”。
OGNL是通常要结合Struts 2的标志一起使用,如等。大家经常遇到的问题是#、%和$这三个符号的使用。下面我想通过例子讲述这个问题: 首先新建名为Struts2_OGNL的Web工程,配置开发环境。之前很多朋友在使用Struts 2的...
Struts 2权威指南——第1章 Struts 2概述.doc Struts 2权威指南——第2章 Struts 2下的HelloWorld.doc Struts 2权威指南——第3章 Struts 2基础.doc 01 为Struts 2.0做好准备 ...Struts2介绍之使用链接标签.doc
MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易引起“类爆炸” 单元测试困难 这些缺点随着Web的发展...
MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易引起“类爆炸” 单元测试困难 这些缺点随着Web的发展...
为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧...MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点:
作为最成功的Web框架,Struts拥有众多的优点:MVC 2模型的使用、功能齐全的标志库(Tag Library)、开放源代码。而Spring的出现,在某些方面极大的方面了Struts的发展。同时,Hibernate作为对象持久化的框架,能迅速...
Struts 2.0的标志(Tag)介绍
Struts 作为MVC 2 的Web 框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web 框架,Struts 自然拥有众多的...1、MVC 2 模型的使用;2、功能齐全的标志库(Tag Library) ;3、开放源代码……
Struts2基本使用介绍,Strut2.0的由来,常用标签介绍,Action介绍,Struts + Spring + hibernate,表单标志使用小技巧,实现原理,具体实现,更多配置,错误处理,多文件上传等。。。。。
对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。
Struts 2.0的标志(Tag)介绍; Struts 2.0的Action讲解; Struts 2.0的国际化; 转换器; 转换与校验; 拦截器; 在Struts 2中实现文件上传;等等.