Struts2之数据标签(二)
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>
执行效果例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">
7.以上就是Struts2数据标签中的一些标签,写得不好,请见谅,如有错误。请指出,谢谢!
Struts2之数据标签(二)的更多相关文章
- Struts2(十)OGNL标签二与Struts2标签
一.Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持.极大简化了视图页面的编写 不依赖任何表现层技术 Struts ...
- struts2:数据标签
目录 数据标签1. a标签2. set标签3. push标签4. bean/param标签5. date标签6. include标签7. url标签8. property标签9. debug标签10. ...
- java web从零单排第十七期《struts2》数据标签库(1)
1.s:action标签: 此标签的作用是在JSP页面中访问action类的数据,执行某些操作,并返回相应的数据.其属性及意义如下: 属性名 是否必需 默认值 类型 说明介绍 executeResul ...
- struts2标签库----数据标签详解
上篇文章我们介绍struts2标签库中的控制标签的基本使用和部分原理,本篇文章接着了解下标签库中有关数据标签的使用和原理.主要涉及以下数据标签: action标签:用于在视图页面跳转到一个Action ...
- struts2学习(8)struts标签1(数据标签、控制标签)
一.struts2标签简介: struts标签很多,功能强大,这是优点: 但是缺点的话,性能方面可能会,各方面速度啊啥的会降低:有人比较测试,struts性能比jstl低很多: 二.struts2 ...
- Struts2的标签库(四)——数据标签
Struts2的标签库(四) --数据标签 1.action标签 该标签用于在jsp页面直接调用一个Action,通过指定executeResult参数,还可以将Action的处理结果包含到此页面中来 ...
- struts2常用标签之数据标签
数据标签1 property标签 property标签的主要属性: value:用来获取值的OGNL表达式,如果value属性值没有指定,那么将会被设定为top,也就是返回位于值栈最顶端的对象. ...
- Struts2 数据标签
Struts 2 的数据标签主要用于操作页面上显示的数据.下面列出的是重要的数据标签: action标签: 此标记使开发人员能够直接从JSP页面调用动作指定动作的名称和一个可选的命名空间.标签的主体内 ...
- Struts2的OGNL标签详解
一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...
随机推荐
- 2014秋C++ 第9周项目 循环程序设计
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703.课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课 ...
- Provide your license server administrator with the following information.error code =-42,147
ArcEngine应用程序开发中,许可不必不可少的.一般采取两种方式来获取许可——License控件和AoInitialize类,但今天在VS2010打开程序时,隔一会弹出错误窗口:Provide y ...
- 【Ubuntu】Ubuntu网络配置DNS失效问题处理
安装了Ubuntu Server版本,配置了静态IP地址,并配置了DNS.但重启之后,发现连接外网时候,还是存在问题. 找了一下,是DNS的问题. 可以这样处理: lifeccp@ubuntu:~/w ...
- 当Ruby的model名字出错时,在现实view时显示错误的提示
app/controllers/courses_controller.rb:1:in `<top (required)>' app/controllers/courses_controll ...
- Spring 开发环境搭建(二)
为了方面,直接使用eclipse,创建maven工程,创建成功之后 一.修改pom.xml,为了方面我就把Spring相关的jar包都引用了 <project xmlns="http: ...
- NGINX源码分析——概览
一.概况 Nginx可以开启多个进程,每个进程拥有最大上限128个子线程以及一定的可用连接数.最大客户端连接数等于进程数与连接数的乘积,连接是在主进程中初始化的,一开始所有连接处于空闲状态.每一个客户 ...
- Struts2学习笔记三:深入Action
一:Action中获取参数值 在Servlet中,我们通过doGet()/doPost()方法中的参数,获取request/response对象,然后提取参数值: 处理请求结束后,有数据需要携带返回客 ...
- J2EE开发之三种项目架构
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6285069.html 在我们开发项目时,一般都要先划分好哪些是与用户交互的,哪些用来处理请求/数据等等,这些过 ...
- Text Justification 文本左右对齐
Given an array of words and a length L, format the text such that each line has exactly L characters ...
- Axure 实现批量的勾选和反选
百度网盘:http://pan.baidu.com/s/1gf4RR2b 1.如何实现批量的勾选和反选的操作? 2.步骤 1)创建3个复选框.2个按钮(全选/反选) 2)设置全选按钮点击事件——选中“ ...