欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一个Jsp初学者的学习过程(四)

程序员文章站 2022-03-26 11:04:11
一个(sun企业级应用的首选)初学者的学习过程(四)theunforgiven第四章  第一个javabean一、先看看如何取当前时间并显示的代码:--------------------...
一个(sun企业级应用的首选)初学者的学习过程(四)

theunforgiven


第四章  第一个javabean

一、先看看如何取当前时间并显示的代码:
------------------------------------------------
<%
    java.text.simpledateformat formatter = new java.text.simpledateformat("yyyy-mm-dd hh:mm:ss");  

    java.util.date currenttime = new java.util.date();//得到当前时间

    string str_date1 = formatter.format(currenttime);  //将日期时间格式化
    string str_date2 = currenttime.tostring(); //将date型日期时间转换成字符串形式
%>
格式化成"yyyy-mm-dd hh:mm:ss"格式的日期时间:<%=str_date1%>
未经格式化的string格式的日期时间:<%=str_date2%>
未经格式化的date格式的日期时间:<%=currenttime%>
-------------------------------------------------
页面的输出内容:
格式化成"yyyy-mm-dd hh:mm:ss"格式的日期时间:2005-03-17 09:55:40
未经格式化的string格式的日期时间:thu mar 17 09:55:40 cst 2005
未经格式化的date格式的日期时间:thu mar 17 09:55:40 cst 2005

    通常我们需要的是这种格式化后的时间:2005-03-17 09:55:40。现在有这样一个问题:“2005-03-17 09:55:40”是一个字符串,有些时候我们需要在这个字符串里提取出年、月、日等的相关信息,怎么办呢?看下面的代码:
----------------------规则的字符串----------------------------------------------
规则的字符串(年4位,月2位,日2位,中间用字符“-”分隔):
<br>原字符串为:
<%
  string date="1989-12-30";
  out.println(date+"<br>");
  string year=date.substring(0,4);//取第0+1位至第4位
  string month=date.substring(5,7);//取第5+1位至第7位
  string day=date.substring(8,10);//取第8+1位至第10位
  out.println("year="+year+",month="+month+",day="+day);
%>
----------------------------------------------------------------------------------
    从上面的代码我们可以看出来:这只能针对规则的字符串(年4位,月2位,日2位),要是不规则的呢?年可能2位也可能4位,月和日可能1位也可能2位,怎么办?通过对上面的代码修改,可以得到下面的通用的代码(这个“通用”有一个前提——年月日之间必须以“-”分隔):
----------------------不规则的字符串----------------------------------------------
不规则的字符串(年、月、日长度不一定,中间用字符“-”分隔):
<br>原字符串为:
<%
  string date="04-05-6";
  out.println(date+"<br>");
  int a=date.indexof("-");//求第一个“-”的位数
  int b=date.lastindexof("-");//求最后一个“-”的位数
  int len=date.length();//求字符串的长度
  year=date.substring(0,a);//取第一个“-”前的字符串
  month=date.substring(a+1,b);//取两个“-”之间的字符串
  day=date.substring(b+1,len);//取最后一个“-”以后的字符串
  out.println("year="+year+",month="+month+",day="+day);
%>
----------------------------------------------------------------------------------
    现在这个问题解决了。可是我们会想到:每次需要对一个表示年月日的字符串进行分割的时候都需要在.jsp(sun企业级应用的首选)页面里写上这么一段代码,不但麻烦而且使页面显得混乱,能不能以一种看起来更清晰的方法解决这个问题呢?当然可以了,用javabean就行了。

二、第一个javabean
    什么是javabean?我在接触到这个问题时苦恼不已,因为我始终无法理解这个概念,直到我相继写了几个之后,我蓦然发现:它不就是一个类吗?!现在,我们先不去管什么是类,先看下面的这个javabean: