1.输出日期和时间
s:date标签的功能是输出日期和时间,并且具有格式化时间,其属性和意义如图:
属性名 | 是否必需 | 默认值 | 类型 | 说明介绍 |
---|---|---|---|---|
format | false | —— | String | 将格式化日期的字符串 |
name | true | —— | String | 要格式化的日期对象 |
nice | false | —— | Boolean | 是否输出间隔时间 |
var | false | —— | String | 将格式化的日期放到值栈中 |
新建类DateTools
package controller; import java.util.Date; public class DateTools { private Date date = new Date(); public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } }
使用s:date输出并格式化日期
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> 显示年-月-日: <br> <s:bean name="controller.DateTools" var="dateRef"></s:bean> <s:date format="yyyy-MM-dd" name="#dateRef.date"/> <br> <br> 显示小时-分-秒: <s:bean name="controller.DateTools" var="dateRef"></s:bean> <s:date format="hh-mm-ss" name="#dateRef.date"/> <br> <br> </body> </html>
运行结果:
2.查看值栈或上下文中的信息:
s:debug在struts2调试起到了关键的作用。由于struts2有自己的值栈和上下文,如何查看值栈就是出错时需要解决的问题。
新建类ShowValueStack
package controller; public class ShowValueStack { private String name = "niujiabin"; public String getName() { return name; } public void setName(String name) { this.name = name; } public String execute() { return "showvaluestack"; } }
在jsp页面中加入debug标签:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <s:debug></s:debug> </body> </html>
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/dtd/struts-2.0.dtd"> <struts> <package name="Maybe" extends="struts-default"> <action name="showvaluestack" class="controller.ShowValueStack"> <result name="showvaluestack">/showvaluestack.jsp</result> </action> </package> </struts>
运行结果:
3.导入jsp文件或servlet资源:
新建include.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <s:include value="foot.jsp"> <s:param name="name" value="'niujiabin'"></s:param> </s:include> </body> </html>
创建导入的目标文件foot.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> name的参数是:${param.name } <br> <br> 必须使用param的EL形式,因为使用s:property标签输出的是Struts2中值栈的Map的值,而 不是URL参数 </body> </html>
运行结果: