`
taody
  • 浏览: 101158 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

struts2标签学习

阅读更多

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>

 

分享到:
评论

相关推荐

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    Struts2标签集锦(附Struts2标签详解word文档)

    Struts2标签是Java开发中一个非常重要的工具,它极大地简化了MVC框架下的视图层构建,使得开发者能够...提供的“Struts2标签详解.doc”文档将对这些概念进行详细的解释,是深入学习和理解Struts2标签的重要参考资料。

    在Eclipse中配置Struts2项目(html)手把手教会你 +struts2 标签库介绍(html) + STRUTS2学习文档.pdf + Struts2―表单验证validate(html) + struts2和struts的比较 + struts教程(html)

    STRUTS2学习文档.pdf 对Struts2的一些配置文件进行了详细的说明。 Struts2―表单验证validate(html)对validate的type属性校验类型以及param 做了详细的解释说明。 struts2和struts的比较 让你更清楚的知道struts2...

    Struts2标签使用及API文档

    在Struts2框架中,标签库是其重要组成部分,它提供了丰富的标签来帮助开发者更方便地构建用户界面。下面我们将深入探讨Struts2标签的使用及其API文档。 1. **Struts2标签的分类与功能** - **控制标签**:如`s:if`,...

    struts2标签库

    Struts2标签库是Java Web开发中非常重要的一个组件,它是Apache Struts2框架的核心特性之一,极大地简化了视图层的开发工作。Struts2的标签库提供了一系列的JSP标签,使得开发者能够更方便地创建动态网页,提高代码...

    struts2 标签 tags API 参考文档

    参考文档是开发者理解和使用Struts2标签的关键资源,它详细阐述了每个标签的功能、属性、用法及示例,有助于快速学习和掌握Struts2的视图层开发。 通过深入学习和实践Struts2的标签API,开发者可以有效地提升Web...

    Struts2自定义分页标签

    Struts2作为一款流行的Java Web框架,为开发者提供了强大的MVC支持。在处理大量数据时,分页功能是必不可少的,它可以提高...通过学习和实践,开发者可以更好地理解和应用Struts2框架,提升其在Web开发中的专业能力。

    struts2-tags-API,struts2标签api

    总结,`struts2-tags-API`是学习和使用Struts2框架标签的重要资源。通过深入理解和应用这些标签,开发者可以构建出高效、整洁且易于维护的Web应用。对于Java web开发者来说,掌握Struts2标签的API是提升开发效率的...

    Struts2标签中文文档(html和chm格式)

    CHM文件是一种基于HTML的帮助文件,集成了目录、索引和搜索功能,方便用户快速查找和学习Struts2标签API的相关信息。这个文档详细列出了所有Struts2标签的用法、属性、事件和示例,对于初学者和经验丰富的开发者都是...

    struts2标签api

    Struts2标签API是Struts2框架中一个重要的组成部分,它提供了一系列的预定义标签,使得开发者能够更方便地在JSP...通过不断实践和学习,开发者可以更熟练地运用Struts2标签API,构建出高效且易于维护的Web应用程序。

    Struts2之struts2标签库了解和使用案例struts025

    Struts2是一个强大的Java EE应用程序框架,用于构建和维护可扩展、模块化和易于管理的Web应用程序。在Struts2中,标签库是其核心组件之一,极...学习并熟练掌握Struts2标签库的使用,是每个Java Web开发者必备的技能。

    struts2标签详解与实例

    Struts2标签详解与实例 在Java Web开发中,Struts2框架因其强大的MVC(模型-视图-控制器)架构而备受青睐。Struts2提供了丰富的标签库,简化了视图层的开发,使开发者可以更加专注于业务逻辑。本文将深入探讨Struts...

    struts2标签库详解(非常不错)

    Struts2标签库是开发...学习和熟练掌握Struts2标签库能够提高开发效率,使代码更加整洁和易于维护。通过实际项目中的应用和不断实践,你可以更好地理解这些标签的用处和背后的机制,进一步提升你的Java Web开发技能。

    struts标签 struts标签 struts标签

    学习和熟练使用Struts标签是成为高效Struts开发者的关键。为了更好地理解和应用这些标签,建议实践编写示例,查看官方文档和在线教程,这样可以加深对每个标签功能的理解,以及它们在实际场景中的应用。

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2.0标签使用源码

    此外,还可以学习如何配置Struts2拦截器,结合标签库实现更强大的功能,如表单验证、国际化等。 总之,理解并熟练掌握Struts2.0标签的使用及其源码,能够帮助我们构建高效、易维护的Web应用程序,提升开发效率。...

    struts1标签库详解

    Struts1 标签库详解 Struts1 标签库是 Apache Jakarta 的一个著名的开源项目,目标是为构建基于 Java 的 web ...学习 Struts 标签最好的方式就是参考良好的示例,幸运的是这些示例可以在 Struts 的用户指南中找到。

    struts2标签库的使用pdf+Word格式

    通过学习和实践,开发者可以更好地理解和掌握Struts2框架,提升Web应用的开发效率。 总之,Struts2标签库是Java Web开发中不可或缺的一部分,它使得JSP页面更加简洁,提高了代码的可维护性。通过阅读提供的PDF和...

Global site tag (gtag.js) - Google Analytics