浏览器服务器之间的数据通信不可能有丰富的数据类型,实际上http参数都是字符串类型的。因此必须在服务器端完成数据类型的转换。Struts2有强大的内建转换机制,类型转换可以依赖于OGNL表达式。开发者也可以自己创建类型转换器。
内建的类型转换器和基于OGNL类型转换
Struts2可以完成大多数常用的类型转换。借助于OGNL,Struts2允许以另一种简单方式请求参数转换成符合类型。比如表单需要提交的action中有一个user类型属性,那么提交的时候直接使用user.name和user.pass即可将表单数据传给user实例的相应属性。这种方式能够将普通的http请求参数(字符串)转化为符合类型对象(user对象,而非普通的String,int等)。演示代码如下:
<s:form action="lalala/login"> <s:textfield name="user.name" label="U" /> <s:textfield name="user.gender" label="gender"/> <s:textfield name="username" label="username"/> <s:submit value="adg"/> </s:form>
此表单会将username中内容赋给login中的username属性,将name与gender赋给login中user实例的name与gender属性。
<s:property value="user.gender"/><br/> <s:property value="user.name"/><br/>
在success视图页,通过property标签提取相关属性值。
时间: 2024-08-02 08:23:47