Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817

1.action标签:使用此标签能够同意在JSP页面中直接调用Action。由于须要调用Action,故能够指定须要被调用Action的name以及namespace。假设指定了executeResult參数的属性值为true,该标签还会把Action的处理结果(视图支援)包括到本页面中来。

(1).此标签的属性:

— id:可选属性。该属性将会作为该Action的引用ID。

— name:必填属性,指定该标签调用哪个Action。

— namespace:可选,指定该标签调用的Action所在的namespace(命名空间)。

— executeResult:可选,指定是否要将Action的处理结果页面包括到本页面。

默认值为false,即不把Action的处理结果包括到本页面。

— ignoreContextParams:可选。指定该页面中的请求參数是否须要传入调用的Action,默认是false。即将本页的请求參数传入被调用的Action。

(2).接下来附上样例。新建一个Struts2项目,项目名为DataLabelTest2.

— 新建一个Action类。类名为PersonAction,代码例如以下:

package com.action;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class PersonAction extends ActionSupport {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String execute() {return SUCCESS;}public String welcome(){ServletActionContext.getRequest().setAttribute("welcome", "欢迎来到人类世界");return SUCCESS;}
}

— 接着配置一下struts.xml配置文件,代码例如以下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<constant name="struts.devMode" value="true"></constant><package name="default" namespace="/" extends="struts-default"><action name="person" class="com.action.PersonAction"><result>/success.jsp</result></action><action name="welcome" class="com.action.PersonAction" method="welcome"><result>/welcome_success.jsp</result></action></package>
</struts>

— 接着新建两个JSP文件。分别为success.jsp和welcome_success.jsp页面,代码例如以下:

success.jsp页面:

<%@ 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 'success.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">--></head><body> 姓名:<s:property value="name"/><br/>年龄:<s:property value="age"/><br/></body>
</html>

welcome_sccess.jsp页面:

<%@ 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 'welcome_success.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">--></head><body><h3>运行结果。并将结果页面的输出包括到本页面中</h3><s:action name="person" namespace="/" executeResult="true"/><h3>不运行结果。调用PersonAction的welcome()方法,获取请求对象中的welcome属性</h3><s:action name="welcome" namespace="/" executeResult="false"/><s:property value="#attr.welcome"/><h3>运行结果。并通过嵌套的param标签,设置PersonAction的name和age属性</h3><s:action name="person" namespace="/" executeResult="true"><s:param name="name" value="'王五'"></s:param><s:param name="age" value="30"></s:param></s:action></body>
</html>

— 最后,执行效果例如以下:

2.include标签:用于将一个JSP页面,或者一个Servlet包括到本页面中。

(1).此标签具有下面属性:

— value:必填,指定须要被包括的JSP页面或者Servlet。

— id:可选,指定该标签的ID引用。

(2).还能够为此标签指定多个param子标签,用于将多个參数值传入被包括的JSP页面或者Servlet。

(3).接着在上面那个DataLabelTest项目底下,新建一个include.jsp页面,主要代码例如以下:

    <s:include value="welcome_success.jsp"/>

执行后结果例如以下:

注:通常此标签用于全部JSP页面共同拥有拥有的,如顶部和底部的显示。

3.url标签:用于生成一个URL地址,能够通过param标签向url标签指定參数,从而指定URL发送请求參数。

(1).此标签的属性有:

— 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。

(2).当中action属性和value属性的作用大致同样。指定action属性。系统会在指定属性后加.action后缀。假设两个都没有指定,就以当前页作为URL的地址值。

(3).我新建一个url.jsp页面,主要代码为:

<s:url action="person"/>

执行后效果例如以下:

4.i18n标签和text标签:这两个标签用于对国际化提供支持.i18n标签,用于将一个资源包放入值栈中,text标签用于从资源包中获取消息。

(1).i18n标签的属性:name:指定使用的资源包的名称,如 /foo/bar/customBundle

(2).text标签的属性:name:指定使用的资源文件的属性名称。id:指定该text标签的引用ID。

5.date标签:用于格式化输入的一个日期。还能够计算指定日期和当前时刻之间的时差。

(1).此标签的属性有:

— format:可选,如指定该属性。将依据该属性指定的格式来格式化日期。

— nice:可选,值为true或者false,用于指定是否输出指定日期和当前时刻的时差。

默觉得false,即不输出。

— name:必填,指定要格式化的日期。

— id:可选,指定引用该元素的id值。

(2).通常,nice属性和format属性不同一时候指定,不指定nice属性时,该属性值为false。

由于指定nice属性值为true的话。代表输出指定日期和当前时刻的时差;指定format属性。则表明将指定日期按format指定的格式来个格式化输出。

(3).假设即没有指定format属性。也没指定nice的属性值为true时,则系统会到国际化资源文件里寻找key为struts.date.format的消息。将该消息当成格式化文本来格式化日期。

假设无法找到key为struts.date.format的消息,则默认採用DateFormat.MEDIUM格式输出。

(4).在DataLabelTest2项目底下,新建一个date.jsp页面,代码例如以下:

<%@ 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 'date.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">--></head><body><%Date date = new Date();pageContext.setAttribute("date", date);%><!-- nice="false",且指定format="yyyy/MM/dd" --><s:date name="#attr.date"  format="yyyy/MM/dd" nice="false" /><br/><!-- nice="true",且指定format="dd/MM/yyyy" --><s:date name="#attr.date" format="dd/MM/yyyy" nice="true"/><br/><!-- 仅指定nice="true" --><s:date name="#attr.date" nice="true"/><br/><!-- 仅指定nice="false" --><s:date name="#attr.date" nice="false"/><br/><!-- 仅指定format="yyyy-MM-dd" --><s:date name="#attr.date" format="yyyy-MM-dd"/><br/>
</body>
</html>

最后。执行效果例如以下:

6.debug标签:用于在页面上生成一个调试链接,当单击该链接时,能够看到当前ValueStack和Stack Context中的内容。

主要代码例如以下:

  <s:debug></s:debug>

执行效果例如以下:

7.以上就是Struts2数据标签中的一些标签,写得不好,请见谅,如有错误。请指出,谢谢!



转载于:https://www.cnblogs.com/claireyuancy/p/7375780.html

Struts2之数据标签(二)相关推荐

  1. Struts2之数据标签(一)

    一.Struts2的数据标签主要用于提供各种数据访问相关的功能,包括显示一个Action里的属性,以及生成国际化输出等功能.数据标签主要包括:property.set.push.param.bean. ...

  2. struts2:数据标签

    目录 数据标签 1. a标签 2. set标签 3. push标签 4. bean/param标签 5. date标签 6. include标签 7. url标签 8. property标签 9. d ...

  3. Struts2 数据标签

    Struts 2 的数据标签主要用于操作页面上显示的数据.下面列出的是重要的数据标签: action标签: 此标记使开发人员能够直接从JSP页面调用动作指定动作的名称和一个可选的命名空间.标签的主体内 ...

  4. Scikit-learn数据预处理分类变量编码之多标签二值化

    Scikit-learn数据预处理分类变量编码之多标签二值化 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 名义变量多标签二 ...

  5. Scikit-learn数据预处理分类变量编码之标签二值化

    Scikit-learn数据预处理分类变量编码之标签二值化 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 名义变量标签二值化 ...

  6. Struts2的OGNL标签详解

    一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...

  7. Struts2框架基本学习(二)

    一.Struts2的Servlet的API的访问   在使用Struts2的框架的过程中,发现Struts2和Servlet的API是解耦合的.在实际开发中,经常使用到Servlet的API,比如进行 ...

  8. html标签库jar包,struts2的s标签库jar包

    这是struts2的s标签库jar包下载,Struts2的一些核心组件,帮助Struts2核心控制器更好的完成对web框架的设计,是使用Struts2不可缺少的组件,如果没有这个文件可能会造成一些软件 ...

  9. 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )

    文章目录 一.标签闭包下创建子标签 二.使用 MarkupBuilderHelper 添加 xml 注释 三.完整代码示例 一.标签闭包下创建子标签 在上一篇博客 [Groovy]xml 序列化 ( ...

最新文章

  1. python 装饰器 参数-python函数装饰器之带参数的函数和带参数的装饰器用法示例...
  2. seq_file机制
  3. 人口问题,怎样的生育率才能保持正常的世代更替?
  4. GIS实战应用案例100篇(八)-桩号相同,坐标不同,RTK怎么输入曲线要素?
  5. Java BigDecimal add()方法与示例
  6. 2021年NBA季后赛第二轮晋级预测
  7. python glob用法
  8. 论文计算机在管理会计中的应用,浅论管理会计在企业中的应用
  9. WPS客户端更新日志留着备用
  10. 计算机存储容量的基本单位pb,pb存储单位是什么
  11. 串行接口芯片16550
  12. 嵌入式系统与普适计算
  13. python读取grib2文件
  14. dbus的代码范例 linux_Dbus简介与简单的收发示例程序
  15. 小明的烦恼——找字符串
  16. Java - 反射机制
  17. UnixLinux 索引
  18. 智能灌溉系统方案满足远程管理需求
  19. 洛谷P4113 [HEOI2012]采花 题解
  20. JavaScript中的构造函数、原型和实例

热门文章

  1. [国嵌笔记][025][ARM指令分类学习]
  2. HTML基础 DOM概览(第一天)
  3. netty中的引导Bootstrap服务端
  4. SandyMandy ,绝世好BABY http://angel.mingox.com
  5. 摄像机域内监督行人重识别问题
  6. 科研人看过来!2021腾讯AI Lab犀牛鸟专项研究计划开始申请
  7. ECCV 2020 | 空间-角度信息交互的光场图像超分辨,性能优异代码已开源
  8. python 字符串操作list【:-1】的几种用法
  9. 最新!2020世界一流大学学术排名出炉!
  10. YOLOv3目标检测有了TensorFlow实现,可用自己的数据来训练