常用STRUTS2标签讲解
- 博客分类:
- web前端
一、
写jsp页面的时候,在struts2中,用的是s标记,先引入标记:
<%@ taglib prefix="s" uri="/struts-tags"%>
二、
struts2的标签和1是完全不同的。
struts2的标签分为两大类:非UI标志和UI标志 struts1 将标志库按功能分成HTML、Tiles、Logic和Bean等几部分
下面就介绍strut2的具体标签:
1、UI
UI标志又可以分为表单UI和非表单UI两部分。表单UI部分基本与Struts 1.x相同,都是对HTML表单元素的包装。不过,Struts 2.0加了几个我们经常在项目中用到的控件如:datepicker、doubleselect、timepicker、optiontransferselect等。因为这些标志很多都经常用到,而且参数也很多,要在一篇文章详细说明并非易事。
下面主要是ui标签的一些用法
form:
<s:form action="exampleSubmit" method="post" enctype="multipart/form-data">
<s:submit />
<s:reset />
</s:form>可以上传文件的form。
textfield:
<s:textfield
label="姓名:"
name="name"
tooltip="Enter your Name here" />
datepicker:
<s:datepicker
tooltip="Select Your Birthday"
label="生日"
name="birthday" />
textarea:
<s:textarea
tooltip="Enter your remart"
label="备注"
name="remart"
cols="20"
rows="3"/>
select:
<s:select
tooltip="Choose user_type"
label=""
list="#{'free':'免费','vip':'收费'}" value="#{'free':'免费'}"
name="bean.user_type"
emptyOption="true"
headerKey="None"
headerValue="None"/>
<s:select
tooltip="Choose user_type"
label=""
list="#{'free':'免费','vip':'收费'}" value="#{'free':'免费'}"
name="bean.user_type"
emptyOption="true"
headerKey="None"
headerValue="None"/>
<s:select
list="venderList"
listKey="id"
listValue="name"
value="%{profile.companyName}"
name="companyName" cssClass="sel_style_w_180"/>
挺好用的
checkboxlist:
<s:checkboxlist
tooltip="Choose your Friends"
label="朋友"
list="{'Patrick', 'Jason', 'Jay', 'Toby', 'Rene'}"
name="friends"/>
checkbox:
<s:checkbox
tooltip="Confirmed that your are Over 18"
label="年龄"
name="legalAge"
value="18"/>
file:
<s:file
tooltip="Upload Your Picture"
label="Picture"
name="picture" />
a:
<s:a href="getP.jsp">超链接提交</s:a>
date :
<s:date name="ad_end_time" format="yyyy-MM-dd"/>
2、非UI
if、elseif和else 描述:
执行基本的条件流转。
参数:
名称必需默认类型描述备注test是Boolean决定标志里内容是否显示的表达式else标志没有这个参数id否Object/String用来标识元素的id。在UI和表单中为HTML的id属性例子:
<%@ page c %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Condition Flow</title>
</head>
<body>
<h3>Condition Flow</h3>
<!--
这里有点小技巧:
本来可以用#parameters.name[0]来获得,请求中name的值。但是,在我实现include例子时,
无论我用param标志给name赋任何值,#parameters里面不会含有任何值,所以#parameters.name也为空值。
其原因为:
当使用include标志时,被包含的页面(included)里#parameters拿到的是包含页面里的请求参数。
因此,这里必须手工调用request.getParameter("name")。
-->
<s:iterator value="linkList" status="bean">
<tr>
<td class="data_tab_tdcl">
<s:property value="#bean.Index+1" /> </td>
<td class="data_tab_tdcl"><s:property value="link_title" /></td>
<td class="data_tab_tdcl"><s:property value="link_url" /></td>
<td class="data_tab_tdcl">
<s:if test="link_type == 1">
文字
</s:if>
<s:elseif test="link_type == 2">
图片
</s:elseif>
<s:else>
-----
</s:else>
</td>
</body>
</html>
例1 condition.jsp
iterator 描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
参数:
名称必需默认类型描述status否String如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈value否Object/String要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象id否Object/String用来标识元素的id。在UI和表单中为HTML的id属性例子:
<%@ page c %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
List list = new ArrayList();
list.add("Max");
list.add("Scott");
list.add("Jeffry");
list.add("Joe");
list.add("Kelvin");
request.setAttribute("names", list);
%>
<html>
<head>
<title>Iterator</title>
</head>
<body>
<h3>Names: </h3>
<!--
1、此处的空property元素用于获得当前iterator的值
2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在我们做格式化的时候,显得非常有用。
-->
<ol>
<s:iterator value="#request.names" status="stuts">
<s:if test="#stuts.odd == true">
<li>White <s:property /></li>
</s:if>
<s:else>
<li style="background-color:gray"><s:property /></li>
</s:else>
</s:iterator>
</ol>
</body>
</html>
1. Struts2页面开发中常用标签使用说明
1.1.往action里传值的使用方式:
<input name="userName" type="text" class="input6" size="15">
a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。
b. 可以不在访问的action中提供相应的属性,用request.getParameter(“userName”);1.2.显示标签 property 用于输出指定值:
<s:property value=" userName "/> 当action返回到指定页面是,可以通过该标签显示action中的属性信息。(注 userName必须在action中存在,并有GET方法)。
1.3.往对象中传值<s:textfield> 用于从页面往action中的对象内传值:
<s:text[color=blue][/color]field name="user. userName " id="username"/>
该标签可以在页面中向action中的实体对象内直接传值。(注:在action中要存在user对象,并有SET/GET方法。)
1.4.判断<s:if> </s:if> 用于在页面中判断指定数据
<s:if test="userName == admin">…. </s:if>
<s:else>…. </s:else>
该标签用于对指定的数据进行判断,但指定的数据必须在action中存在。
1.5.迭代<s:iterator>用于将List、Map、ArrayList等集合进行循环遍历
<s:iterator value="userList" id="user" status="u">
<s:property value="userName"/></a>
</s:iterator>
该标签用于将userList集合中的元素进行循环,用过property进行显示集合中的指定元素值。
1.6.URL地址标签,<s:url>用于生成一个URL地址,可以通过URL标签指定的<s:param>子元素向URL地址发送请求参数
<s:url action=" ">
<s:param name=" " value=""></s:param>
</s:url>
其中action为请求地址,param子元素为地址后面所带的参数。
1.7.超链接 <a href >一般和<s:url>标签一起使用,用于带多个参数。
<a href="
<s:url action=" ">
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
</s:url>">
超链接</a>
1.8.set标签,用于将某个值放入指定的范围内。例如application,session等。
<s:set name="user" value="userName" scope=”request”/>
将user值放入request范围内。
2. Struts2页面开发中常用标签使用规范:
1.1.通过<input name="userName" type="text" class=" " size="15">
往action中传值,action中要有相应的属性,并提供SET/GET方法。
(在数量少时可以使用request.getParameter(“userName”);)
1.2.在页面显示action传来的数据,使用property标签。需要显示的数据从action中获得。
1.3.往action中的实体对象内传值,使用textfield标签。
1.4.在页面中判断指定值使用<s:if>标签。判断数据从action中获得。
1.5.在页面中需要循环列表显示的数据使用<s:iterator>标签,列表数据从action中获得。
1.6.URL地址和超链接可以使用<a href>和<s:url>,在传多值时建议<a href>和<s:url>一起使用
radio
我总结是的:struts2's tag :radio.
比如我们性别的选择,在struts2里它有一个radio的tag 但是再看一下;
1.它有一个property是list,这可叫我们如何使用呢?
2.在界面首先我们一定要有一个默认的选值,这个如何做到呢?
现在开始解决问题:
为sex建一个bean类:
package com.lxit.main.system.action;
import java.util.Hashtable;
import java.util.Map;
public class Sexs {
public Map <String,String> getSexs() {
Map <String,String> sexs= new Hashtable <String,String> ( 2 );
sexs.put( "男" , "男" );
sexs.put( "女" , "女" );//(key,value)下面value="'女'"是这里有key,
return sexs;
}
}
然后,在界面:
<s:bean id="sexs" name="com.lxit.main.system.action.Sexs"/>
<s:radio list="#sexs.sexs" value="'女'" name="student.sex" label="%{getText('addstu.sex')}"/>
注意:<1>. list="#sexs.sexs"第一个:sexs 它是bean的id 第二个sexs 它是上面bean类里的return 的sexs 这个一定要注意.不然的话.你精心写好的代码会让你失望的,嘿嘿...
<2>. value="'女'" 这个就是在界面默认选值为'女'; 在界面显示的是:map里面有value,当你选择了以后;在后台拿到的是map里面有key.这里有点不合常理.所以要注意.我发现了以后所以上面的put里有key and value 全是中文"男,女"
name="student.sex"是我action类里面有字段 label="student,sex"是我用了一个*.properties 文件.
这样子就可以了.在你正常的工程下就可以工作了.
这样实现比较简单: <s:radio name="student.sex" list="%{#{'男':'男','女':'女'}}" value="'男'" label="性别"></s:radio>
写jsp页面的时候,在struts2中,用的是s标记,先引入标记:
<%@ taglib prefix="s" uri="/struts-tags"%>
二、
struts2的标签和1是完全不同的。
struts2的标签分为两大类:非UI标志和UI标志 struts1 将标志库按功能分成HTML、Tiles、Logic和Bean等几部分
下面就介绍strut2的具体标签:
1、UI
UI标志又可以分为表单UI和非表单UI两部分。表单UI部分基本与Struts 1.x相同,都是对HTML表单元素的包装。不过,Struts 2.0加了几个我们经常在项目中用到的控件如:datepicker、doubleselect、timepicker、optiontransferselect等。因为这些标志很多都经常用到,而且参数也很多,要在一篇文章详细说明并非易事。
下面主要是ui标签的一些用法
form:
<s:form action="exampleSubmit" method="post" enctype="multipart/form-data">
<s:submit />
<s:reset />
</s:form>可以上传文件的form。
textfield:
<s:textfield
label="姓名:"
name="name"
tooltip="Enter your Name here" />
datepicker:
<s:datepicker
tooltip="Select Your Birthday"
label="生日"
name="birthday" />
textarea:
<s:textarea
tooltip="Enter your remart"
label="备注"
name="remart"
cols="20"
rows="3"/>
select:
<s:select
tooltip="Choose user_type"
label=""
list="#{'free':'免费','vip':'收费'}" value="#{'free':'免费'}"
name="bean.user_type"
emptyOption="true"
headerKey="None"
headerValue="None"/>
<s:select
tooltip="Choose user_type"
label=""
list="#{'free':'免费','vip':'收费'}" value="#{'free':'免费'}"
name="bean.user_type"
emptyOption="true"
headerKey="None"
headerValue="None"/>
<s:select
list="venderList"
listKey="id"
listValue="name"
value="%{profile.companyName}"
name="companyName" cssClass="sel_style_w_180"/>
挺好用的
checkboxlist:
<s:checkboxlist
tooltip="Choose your Friends"
label="朋友"
list="{'Patrick', 'Jason', 'Jay', 'Toby', 'Rene'}"
name="friends"/>
checkbox:
<s:checkbox
tooltip="Confirmed that your are Over 18"
label="年龄"
name="legalAge"
value="18"/>
file:
<s:file
tooltip="Upload Your Picture"
label="Picture"
name="picture" />
a:
<s:a href="getP.jsp">超链接提交</s:a>
date :
<s:date name="ad_end_time" format="yyyy-MM-dd"/>
2、非UI
if、elseif和else 描述:
执行基本的条件流转。
参数:
名称必需默认类型描述备注test是Boolean决定标志里内容是否显示的表达式else标志没有这个参数id否Object/String用来标识元素的id。在UI和表单中为HTML的id属性例子:
<%@ page c %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Condition Flow</title>
</head>
<body>
<h3>Condition Flow</h3>
<!--
这里有点小技巧:
本来可以用#parameters.name[0]来获得,请求中name的值。但是,在我实现include例子时,
无论我用param标志给name赋任何值,#parameters里面不会含有任何值,所以#parameters.name也为空值。
其原因为:
当使用include标志时,被包含的页面(included)里#parameters拿到的是包含页面里的请求参数。
因此,这里必须手工调用request.getParameter("name")。
-->
<s:iterator value="linkList" status="bean">
<tr>
<td class="data_tab_tdcl">
<s:property value="#bean.Index+1" /> </td>
<td class="data_tab_tdcl"><s:property value="link_title" /></td>
<td class="data_tab_tdcl"><s:property value="link_url" /></td>
<td class="data_tab_tdcl">
<s:if test="link_type == 1">
文字
</s:if>
<s:elseif test="link_type == 2">
图片
</s:elseif>
<s:else>
-----
</s:else>
</td>
</body>
</html>
例1 condition.jsp
iterator 描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
参数:
名称必需默认类型描述status否String如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈value否Object/String要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象id否Object/String用来标识元素的id。在UI和表单中为HTML的id属性例子:
<%@ page c %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
List list = new ArrayList();
list.add("Max");
list.add("Scott");
list.add("Jeffry");
list.add("Joe");
list.add("Kelvin");
request.setAttribute("names", list);
%>
<html>
<head>
<title>Iterator</title>
</head>
<body>
<h3>Names: </h3>
<!--
1、此处的空property元素用于获得当前iterator的值
2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在我们做格式化的时候,显得非常有用。
-->
<ol>
<s:iterator value="#request.names" status="stuts">
<s:if test="#stuts.odd == true">
<li>White <s:property /></li>
</s:if>
<s:else>
<li style="background-color:gray"><s:property /></li>
</s:else>
</s:iterator>
</ol>
</body>
</html>
1. Struts2页面开发中常用标签使用说明
1.1.往action里传值的使用方式:
<input name="userName" type="text" class="input6" size="15">
a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。
b. 可以不在访问的action中提供相应的属性,用request.getParameter(“userName”);1.2.显示标签 property 用于输出指定值:
<s:property value=" userName "/> 当action返回到指定页面是,可以通过该标签显示action中的属性信息。(注 userName必须在action中存在,并有GET方法)。
1.3.往对象中传值<s:textfield> 用于从页面往action中的对象内传值:
<s:text[color=blue][/color]field name="user. userName " id="username"/>
该标签可以在页面中向action中的实体对象内直接传值。(注:在action中要存在user对象,并有SET/GET方法。)
1.4.判断<s:if> </s:if> 用于在页面中判断指定数据
<s:if test="userName == admin">…. </s:if>
<s:else>…. </s:else>
该标签用于对指定的数据进行判断,但指定的数据必须在action中存在。
1.5.迭代<s:iterator>用于将List、Map、ArrayList等集合进行循环遍历
<s:iterator value="userList" id="user" status="u">
<s:property value="userName"/></a>
</s:iterator>
该标签用于将userList集合中的元素进行循环,用过property进行显示集合中的指定元素值。
1.6.URL地址标签,<s:url>用于生成一个URL地址,可以通过URL标签指定的<s:param>子元素向URL地址发送请求参数
<s:url action=" ">
<s:param name=" " value=""></s:param>
</s:url>
其中action为请求地址,param子元素为地址后面所带的参数。
1.7.超链接 <a href >一般和<s:url>标签一起使用,用于带多个参数。
<a href="
<s:url action=" ">
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
</s:url>">
超链接</a>
1.8.set标签,用于将某个值放入指定的范围内。例如application,session等。
<s:set name="user" value="userName" scope=”request”/>
将user值放入request范围内。
2. Struts2页面开发中常用标签使用规范:
1.1.通过<input name="userName" type="text" class=" " size="15">
往action中传值,action中要有相应的属性,并提供SET/GET方法。
(在数量少时可以使用request.getParameter(“userName”);)
1.2.在页面显示action传来的数据,使用property标签。需要显示的数据从action中获得。
1.3.往action中的实体对象内传值,使用textfield标签。
1.4.在页面中判断指定值使用<s:if>标签。判断数据从action中获得。
1.5.在页面中需要循环列表显示的数据使用<s:iterator>标签,列表数据从action中获得。
1.6.URL地址和超链接可以使用<a href>和<s:url>,在传多值时建议<a href>和<s:url>一起使用
radio
我总结是的:struts2's tag :radio.
比如我们性别的选择,在struts2里它有一个radio的tag 但是再看一下;
1.它有一个property是list,这可叫我们如何使用呢?
2.在界面首先我们一定要有一个默认的选值,这个如何做到呢?
现在开始解决问题:
为sex建一个bean类:
package com.lxit.main.system.action;
import java.util.Hashtable;
import java.util.Map;
public class Sexs {
public Map <String,String> getSexs() {
Map <String,String> sexs= new Hashtable <String,String> ( 2 );
sexs.put( "男" , "男" );
sexs.put( "女" , "女" );//(key,value)下面value="'女'"是这里有key,
return sexs;
}
}
然后,在界面:
<s:bean id="sexs" name="com.lxit.main.system.action.Sexs"/>
<s:radio list="#sexs.sexs" value="'女'" name="student.sex" label="%{getText('addstu.sex')}"/>
注意:<1>. list="#sexs.sexs"第一个:sexs 它是bean的id 第二个sexs 它是上面bean类里的return 的sexs 这个一定要注意.不然的话.你精心写好的代码会让你失望的,嘿嘿...
<2>. value="'女'" 这个就是在界面默认选值为'女'; 在界面显示的是:map里面有value,当你选择了以后;在后台拿到的是map里面有key.这里有点不合常理.所以要注意.我发现了以后所以上面的put里有key and value 全是中文"男,女"
name="student.sex"是我action类里面有字段 label="student,sex"是我用了一个*.properties 文件.
这样子就可以了.在你正常的工程下就可以工作了.
这样实现比较简单: <s:radio name="student.sex" list="%{#{'男':'男','女':'女'}}" value="'男'" label="性别"></s:radio>
发表评论
-
WdatePicker.js的使用方法 帮助文档 使用说明 如何使用 (上)
2012-12-20 10:14 1057日期控件支持平面显示 ... -
js中判断ascii码值
2012-09-06 13:50 1071<script language="javas ... -
Struts2常用标签
2011-12-09 10:03 5901.1.往action里传值的使用方式: Java代 ... -
JSTL常用标签汇总
2011-12-09 10:01 567JSTL的核心标签库主要包括:表达式操作、流程控制、迭代操作和 ... -
jstl表达式常用标签
2011-12-09 10:00 807在web应用开发中,为了使视图与数据逻辑分离,需要使用标签,j ... -
常用的JS事件
2011-12-09 09:48 642文本焦点事件: //onBlur:当失去输入焦点后产生该事 ... -
js动态获取当前系统时间
2011-01-29 11:25 1461支持浏览器: 360,搜狗,火狐,遨游,ie8 (ie其他版本 ... -
获取天气预报
2011-01-26 16:25 716获取新浪网的天气预报的方法 <!-- 获取新浪的天气预报 ...
相关推荐
·常用的Struts 2.0的标签(Tag)介绍 ·Struts 2.0的Action讲解 ·Struts2国际化(i18n)您的应用程序 ·Struts2.0转换器(Converter) ·Struts 2.0中实现表单数据校验(Validation) ·拦截器(Interceptor)...
包含:java web 标签大全.CHM,springmvc注解.doc,Spring注解讲解.doc,struts2标签详解.pdf,struts2常用标签.pdf,Struts2页面开发中常用标签.pdf,Struts2注解详细说明文档.doc,Hibernate注解教程:Hibernate ...
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
详细讲解了遍历集合的方法,附加一些常用标签的使用方法。
很经典,内容齐全,清晰明了,包括常用的标签知识
其中在Struts2部分主要讲解MVC设计思想,Struts2的处理流程及配置,Struts2常用控制器组件,以及Struts2常用标签库的使用。在Hibernate部分主要讲解O/R Mapping的设计理念,Hibernate对O/R Mapping的支持,Hibernate...
Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,...
Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,...
Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,...
Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,...
Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,...
Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...
16.1、Struts标签库简介 16.2、Bean标签 16.2.1、标签 16.2.2、标签 16.2.3、资源访问标签 16.2.4、标签 16.2.5、标签 16.2.6、标签 16.2.7、国际化与标签 16.3、Logic标签 16.3.1、标签和标签 ...
该视频是mldn的李兴华老师所讲解的web开发视频,里面还有视频中讲课的源代码和电子书!...0416_Struts常用标签库 0417_Struts高级开发 0500_第五部分:附录 0518_附录A:实用工具 0519_附录B:MyEclipse开发工具
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...
16.1、Struts标签库简介 16.2、Bean标签 16.2.1、标签 16.2.2、标签 16.2.3、资源访问标签 16.2.4、标签 16.2.5、标签 16.2.6、标签 16.2.7、国际化与标签 16.3、Logic标签 16.3.1、标签和标签 ...
16.1、Struts标签库简介 16.2、Bean标签 16.2.1、标签 16.2.2、标签 16.2.3、资源访问标签 16.2.4、标签 16.2.5、标签 16.2.6、标签 16.2.7、国际化与标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、...
16.1、Struts标签库简介 16.2、Bean标签 16.2.1、标签 16.2.2、标签 16.2.3、资源访问标签 16.2.4、标签 16.2.5、标签 16.2.6、标签 16.2.7、国际化与标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、...
16.1、Struts标签库简介 16.2、Bean标签 16.2.1、标签 16.2.2、标签 16.2.3、资源访问标签 16.2.4、标签 16.2.5、标签 16.2.6、标签 16.2.7、国际化与标签 16.3、Logic标签 16.3.1、标签和标签 ...