struts2标签
终于把struts2标签看的差不多了,不过还有好多还不是很熟悉,我是结合Max的struts2教程和struts自带的reference文档学习的!笔记中有好多都是从Max的博客中搬来的。不过也没有办法,咱水平还不行,也只能站在人家的肩膀上学习一下了!!
if,elseif, else标签
?<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'tags.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<!--
小技巧:#parameters.country[1]可以这样取值!原来Struts2是将URL传的参数封装 成一个数组的,
也就是说你可以在一个URL传两个同名的参数(即?name=a&name=b);
-->
<%request.setCharacterEncoding("utf-8");%>
(request获取方式)country=<%=request.getParameter("country") %><br>
<s:if test="#parameters.country[1] == 'www'">中国</s:if>
<s:elseif test="#parameters.country[0] == '美国'">美国</s:elseif>
<s:else >其他国籍的人</s:else>
<br>
<!-- 为某个属性赋值 -->
<s:set name="country" value="#parameters.country[1]"></s:set>
country=<s:property value="#country" /> <br>
<s:if test="#country == 'www'">中国</s:if>
<s:elseif test="#country == '美国'">美国</s:elseif>
<s:else >其他国籍的人</s:else>
<br>
</body>
</html>
这里面有个小常识,就是通过url传递参数的时候:Struts2是将URL传的同名参数封装成一个数组,也就是说我们可以在一个URL传两个同名的参数(即?name=a&name=b);获取的时候直接#parameters.name[0], parameters.name[1]就可以分别取出两个参数的值。
include标签
被包含页面:
?<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
this is the include page!!!
包含页面:
?<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'includea.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css" mce_href="styles.css">
-->
</head>
<body>
This is my JSP1 page.
<br>
<s:include value="include.jsp">
<!-- 提交表单时才会获得value的值 -->
<s:param name="value1">test1</s:param>
<s:param name="value2" value="user"></s:param>
</s:include>
</body>
</html>
当然struts的include标签静态动态页面都能包含的!
i18n标签
描述:加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。
?<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'tags3.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css" mce_href="styles.css">
-->
</head>
<body>
<!-- <s:text>标签没弄明白 -->
<s:i18n name="I18N">
The i18n value is <s:text name="hi!!"></s:text>
</s:i18n>
<br>
<s:debug></s:debug>
</body>
</html>
iterator标签
?<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'tags2.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css" mce_href="styles.css">
-->
</head>
<%
List<String> strs = new ArrayList<String>();
strs.add("a");
strs.add("b");
strs.add("c");
strs.add("d");
strs.add("e");
request.setAttribute("strs", strs);
%>
<body>
<s:iterator value="#request.strs" var="strs">
<s:property value="#strs"/>
</s:iterator>
<s:debug></s:debug>
</body>
</html>
这个标签挺容易理解的。
param标签
struts2的<s: param>标签问我觉得比较复杂的。struts2的s:param标签主要有两个属性name与value, 若想在value属性中输入直接量,则可以这样写:<s:param name="some" value="%{'user'}"/>, 也可以这样写:<s:param name="some">user</s:param>。 但如果直接赋值,这个值不是由Action动态生成的,而是自己指定的一个字符串,则只能用后者。
param页面代码:
?<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'param.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css" mce_href="styles.css">
-->
</head>
<body>
<!-- struts2的s:param标签主要有两个属性name与value,
若想在value属性中输入直接量,则可以这样写:<s:param name="some" value="%{'user'}"/>,
也可以这样写:<s:param name="some">user</s:param>。
但如果直接赋值,这个值不是由Action动态生成的,而是自己指定的一个字符串,则只能用后者。 -->
<s:url value="paramAction.jsp" id="href">
<s:param name="value1">hello!!</s:param>
<s:param name="valu2" value="%{'HELLO!'}"></s:param>
</s:url>
<s:a href="%{href}" mce_href="%{href}">paramAction</s:a>
<s:debug></s:debug>
</body>
</html>
paramAction页面:
?<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'paramAction.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css" mce_href="styles.css">
-->
</head>
<body>
value1的值:<%=request.getParameter("value1") %><br>
value1的值:<s:property value="#parameters.value1" /><br>
value2的值:<%=request.getParameter("value2") %><br/><!-- 获取不到值 -->
value2的值:${#param.value2 }<!-- 获取不到值 -->
<s:debug></s:debug>
</body>
</html>
经常用到的UI标签
?<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<html>
<head>
<title>UI Tags Example</title>
<s:head />
<sx:head parseContent="true"/>
</head>
<body>
<s:actionerror/>
<s:actionmessage/>
<s:fielderror />
<s:form action="exampleSubmit" method="post" enctype="multipart/form-data" tooltipConfig="#{'jsTooltipEnabled':'true'}">
<s:textfield
label="Name"
name="name"
tooltip="Enter your Name here" />
<s:date name="Select Your Birthday"/>
<!-- 在struts2.2.1中<sx:datetimepicker/>的标签使用有所变化,需要引入struts2-dojo-plugin-2.2.1.jar
这个包。
-->
<sx:datetimepicker
tooltip="Select Your Birthday"
label="Birthday"
name="birthday" />
<s:textarea
tooltip="Enter your Biography"
label="Biograph"
name="bio"
cols="20"
rows="3"/>
<s:select
tooltip="Choose Your Favourite Color"
label="Favorite Color"
list="{'Red', 'Blue', 'Green'}"
name="favoriteColor"
emptyOption="true"
headerKey="None"
headerValue="None"/>
<s:select
tooltip="Choose Your Favourite Language"
label="Favourite Language"
list="#{'CN':'中文','EN':'英文','FR':'外文'}"
name="favouriteLanguage"
emptyOption="true"
headerKey="None"
headerValue="None"/>
<s:checkboxlist
tooltip="Choose your Friends"
label="Friends"
list="{'Patrick', 'Jason', 'Jay', 'Toby', 'Rene'}"
name="friends"/>
<s:checkbox
tooltip="Confirmed that your are Over 18"
label="Age 18+"
name="legalAge"/>
<s:doubleselect
tooltip="Choose Your State"
label="State"
name="region" list="{'North', 'South'}"
value="'South'"
doubleValue="'Florida'"
doubleList="top == 'North' ? {'Oregon', 'Washington'} : {'Texas', 'Florida'}"
doubleName="state"
headerKey="-1"
headerValue="---------- Please Select ----------"
emptyOption="true" />
<s:file
tooltip="Upload Your Picture"
label="Picture"
name="picture" />
<s:optiontransferselect
tooltip="Select Your Favourite Cartoon Characters"
label="Favourite Cartoons Characters"
name="leftSideCartoonCharacters"
leftTitle="Left Title"
rightTitle="Right Title"
list="{'Popeye', 'He-Man', 'Spiderman'}"
multiple="true"
headerKey="headerKey"
headerValue="--- Please Select ---"
emptyOption="true"
doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}"
doubleName="rightSideCartoonCharacters"
doubleHeaderKey="doubleHeaderKey"
doubleHeaderValue="--- Please Select ---"
doubleEmptyOption="true"
doubleMultiple="true" />
<s:textarea
label="Your Thougths"
name="thoughts"
tooltip="Enter your thoughts here" />
<s:submit onclick="alert('aaaa');" />
<s:reset onclick="alert('bbbb');" />
</s:form>
</body>
</html>
这些代码是直接从Max的博文中copy过来的,本来这是一个完整的例子我只是把前台展示代码考过来了。在这里有一个要注意的地方,不过在代码中也有体现,这是struts2比较高级的版本和低版本之间的区别,具体从哪个 版本改的我也不是很清楚。这个不同的用法是关于<s: datetimepicker>的。在使用<s: datetimepicker>时,较高的版本中还必须引入struts2-dojo-plugin-2.2.1.jar,还得指明<%@ taglib prefix="sx" uri="/struts-dojo-tags" %> ,如果做实验不成功的可以考虑下是不是这个问题。
分享到:
相关推荐
Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...
Struts标签是Apache Struts框架中的一个重要组成部分,它提供了一种简化JSP页面开发的方式,使得开发者能够更方便地处理视图层与控制层之间的交互。本文将详细讲解Struts标签的使用及其常见HTML标签库,并指导如何在...
Struts标签库是Java Web开发中的一个重要组成部分,主要用于构建基于MVC(模型-视图-控制器)架构的应用程序。这个库极大地简化了JSP页面的编写,提供了丰富的标签来处理常见的Web开发任务,如表单处理、数据校验、...
Struts标签库是Java Web开发中的一个重要组成部分,它极大地简化了基于MVC(Model-View-Controller)架构的Struts框架的应用程序开发。这个“Struts标签库查询手册”提供了全面的指南,帮助开发者理解和使用Struts...
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 HTML 标签 : 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 ...Nested标签: 增强对其他的Struts 标签的嵌套使用的能力
Struts标签库是Java Web开发中的一个重要组成部分,它极大地简化了开发者在JSP页面中处理业务逻辑和控制流程的工作。Struts是一个开源框架,最初由Apache软件基金会开发,旨在提供一个MVC(Model-View-Controller)...
Struts标签库是Java开发中基于Struts框架的一个重要组件,它为开发者提供了一系列便捷的JSP标签,简化了Web应用的开发工作。本章主要介绍了五个主要的Struts标签库,分别是HTML标签库、Bean标签库、Logic标签库、...
本篇将深入探讨Struts标签在页面跳转和数据库操作中的应用。 一、Struts标签 1. Radio(单选按钮):Struts提供了`<html:radio>`标签来创建单选按钮组,通常用于让用户在多个选项中选择一项。在JSP页面中,这些...
总的来说,Struts标签库是Struts框架的重要组成部分,它为Java Web开发提供了强大的视图层支持,简化了JSP页面的编写,提高了开发效率。理解和熟练运用这些标签,将有助于提升你在Struts项目中的开发能力。
Struts标签库手册是开发Java Web应用程序时的重要参考资料,尤其对于使用Struts框架的开发者来说,它是不可或缺的工具。Struts是一个开源的MVC(Model-View-Controller)框架,它帮助开发者构建可维护性、可扩展性...
本压缩包文件包含了关于Struts标签的详细解释和源码,非常适合学习和参考。 1. **HTML标签**: HTML标签主要用于生成常见的HTML元素,如表单元素(`<html:form>`)、文本输入(`<html:text>`)、复选框(`...
Struts标签库是Java Web开发中的一个重要组成部分,它极大地简化了基于MVC(Model-View-Controller)架构的Struts框架的应用程序开发。这个“Struts标签库.chm”文件很可能是官方或第三方编写的帮助文档,包含了关于...
### JSTL与Struts标签库详解 #### JSTL(JavaServer Pages Standard Tag Library)简介 JSTL,即JavaServer Pages Standard Tag Library(JavaServer Pages标准标签库),是为简化JavaServer Pages (JSP) 页面开发...
Struts标签 大全
Struts2标签库是Java开发Web应用程序时常用的一个强大工具,尤其在构建MVC(Model-View-Controller)架构的应用程序中发挥着重要作用。Struts2框架提供了丰富的自定义标签库,极大地简化了视图层的开发,使得开发者...
标题"Struts标签实现数据的查询修改"涉及到的核心知识点主要包括以下几个方面: 1. **Struts标签库**:Struts2提供了丰富的标签库,如s:form、s:textfield、s:submit等,这些标签简化了JSP页面中的HTML元素,并且与...
本篇文章将深入探讨Struts标签的相关知识点,包括它们的作用、类型以及如何在实际项目中使用。 一、Struts标签概述 Struts标签库是JSP标准标签库(JSTL)的扩展,提供了丰富的标签,用于处理表单、显示数据、导航等...
Struts标签是Apache Struts框架中的重要组成部分,用于构建MVC(模型-视图-控制器)架构的应用程序。这些标签简化了JSP页面的编写,提供了更清晰、更可维护的代码结构。以下是对Struts标签的详细讲解。 1. **Bean...
《jQuery1.8+Struts标签+正则表达式全中文》是一份综合性的技术文档,旨在为开发者提供关于这三大技术的详细指导。这份文档集合了jQuery 1.8的使用方法、Struts框架中的标签应用以及正则表达式的实践指南,特别适合...
struts标签中文文档 下载附件后把taglib1.war放在tomcat的webapps下,(或用其他应用服务器) 然后启动tomcat服务 在浏览器中输入http://localhost:8080/taglib1即可