java web从零单排第十八期《struts2》数据标签库(2)
1.输出日期和时间
s:date标签的功能是输出日期和时间,并且具有格式化时间,其属性和意义如图:
新建类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>
运行结果: