传智播客struts学习,formbean属性的整数与日期类型
2009-03-02 22:32
246 查看
继续学习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>标签回显日期。
使用<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表单校验失败后的整数重显问题(Form中属性类型用String的优势)
- JPA学习笔记---JPA实体Bean的建立---链接上一个博文:对实体Bean中属性进行操作:保存日期类型,设置字段的长度,名字,是否为空,可以声明枚举字段;可以存放二进制数据,可以存放
- Struts Form Bean 日期问题
- struts-config.xml中action、forward、form-bean属性含义
- 【Hibernate学习笔记-5.2】使用@Temporal修饰日期类型的属性
- 使用struts bean:write标签时不能显示Integer,BigDecimal等类型的属性问题的解决
- struts-config.xml中action、forward、form-bean属性含义
- struts-config.xml中action、forward、form-bean属性含义
- struts-config.xml中action、forward、form-bean属性含义
- 使用struts bean:write标签时不能显示Integer,Date等类型的属性问题的解决
- struts-config.xml中action、forward、form-bean属性含义
- struts-config.xml中action、forward、form-bean属性含义
- struts-config.xml中action、forward、form-bean属性含义
- struts-config.xml中action、forward、form-bean属性含义
- Struts Form中Date类型之“argument type mismatch”错误解决方法
- struts的formbean的存活范围对程序的影响
- at org.apache.struts.config.FormBeanConfig.createActionForm
- javascript学习之 function类型 (27)——function类型 内部属性
- 关于struts中的表单元素- Form bean not specified on mapping for action: "helloa.do"报错
- Struts 1 学习笔记-4-3(Struts中ActionForm的类型自动转换)