传智播客struts学习,formbean属性的整数与日期类型

         继续学习strusts, 今天张老师讲了<html:checkbox>标签和<html:form>标签的好处及使用方法。<html:checkbox>标签的使用会遇到一个常见问题,可以用reset方法解决。formbean属性的整数与日期类型转换的一般问题,都可以很容易的解决。

 

   使用<html:checkbox>标签,设置它的property属性,并把该属性添加到formbean中,这样<html:checkbox>标签的checked属性就可以设置property属性值的boolean类型,使用非常方便。不过,不对<html:checkbox>标签进行选择时,checked属性就不会设置为false,这就带来了一个问题,假设formbean的参数保存在session中,session中原来保存的对应与<html:checkbox>标签的属性值为TRUE,当不对<html:checkbox>标签进行选择时,session中保存的相应参数就不会改变。不过可以在Formbean中用reset方法解决,在reset方法中添加代码,对formbean中保存的参数值进行清空。这样就防止了上面问题的发生。

 

     用户在登录一个页面时,经常会遇到,一个<html:checkbox>标签,可以选择两周内自动登录该网站。这是怎么实现的呢。原理很简单,有时间一定要动手做一下,进行验证。用户选择此选项后,服务器会把用户名和密码进行md5编码后发送给浏览器保存在Cookie中。当该用户下次登录时,服务器端有一个过滤器,过滤器先检查Cookie,用Cookie中的用户名和密码解码后去和数据库中是数据进行比较,比较成功以后就可以让用户不用输入用户名和密码,访问网站时就登录上了。这样就对此功能进行了实现。

 

<html:form>标签的三个作用:
1.生成html文档的<form>标签;
2.检查Session中是否存在Token,是则生成隐藏字段,保存sessionid,与服务器端保存的Sessionid做比较,以防止表单重复提交;
3.获取action属性中路径所对应的scope域中的formbean,存在则获取,不存在则创建新的,再把这个formbean以一个特殊关键字保存在request中,以便其中的<html:xxx>标签获取值时使用。

 

formbean属性的整数与日期类型
1 在formbean中增加int类型的age属性和在jsp页面中增加对应的<html:text>标签,由jsp页面的age字段的显示为0,因为,int型数据默认初始值为0,将age属性改为Integer类型,就可以解决这个问题。可以将ActionServlet的ConvertNull属性设置为TRUE,就会对formbean的参数向java包装类做合适的转化。
2在formbean中增加java.util.Date类型的date属性和在jsp页面中增加对应的<html:text>标签。在JSP显示的日期会让人很难看懂,这是因为没有完成Date类型转换,可以编写Date类型转换器来解决。编写ActionServlet的子类ItcastActionServlet,在init方法中注册Date类型转换器,用jstl的<fmt:formateDate>标签回显日期。

你可能感兴趣的:(传智播客struts学习,formbean属性的整数与日期类型)