代码
<
form-bean
name
="loginForm"
type
="org.apache.struts.validator.DynaValidatorForm"
>
<
form-property
name
="user"
type
="org.layout.model.User"
/>
</
form-bean
>
在校验文件validation.xml中: 代码
<
form
name
="loginForm"
>
<
field
property
="user.name"
depends
="required,minlength,maxlength"
>
<
arg0
key
="label.username"
/>
<
arg1
key
="${var:minlength}"
name
="minlength"
resource
="false"
/>
<
arg2
key
="${var:maxlength}"
name
="maxlength"
resource
="false"
/>
<
var
>
<
var-name
>
maxlength
</
var-name
>
<
var-value
>
16
</
var-value
>
</
var
>
<
var
>
<
var-name
>
minlength
</
var-name
>
<
var-value
>
2
</
var-value
>
</
var
>
</
field
>
<
field
property
="user.password"
depends
="required,minlength,maxlength"
>
<
arg0
key
="label.password"
/>
<
arg1
key
="${var:minlength}"
name
="minlength"
resource
="false"
/>
<
arg2
key
="${var:maxlength}"
name
="maxlength"
resource
="false"
/>
<
var
>
<
var-name
>
maxlength
</
var-name
>
<
var-value
>
16
</
var-value
>
</
var
>
<
var
>
<
var-name
>
minlength
</
var-name
>
<
var-value
>
2
</
var-value
>
</
var
>
</
field
>
</
form
>
在action中如下调用: 代码
DynaActionForm aForm
=
(DynaActionForm)form; ActionMessages messages
=
form.validate(mapping, request);
if
(
!
messages.isEmpty())
{ saveMessages(request, messages); return mapping.findForward("prompt"); }
User user
=
(User)aForm.get(
"
user
"
); UserDAO userDAO
=
(UserDAO)getWebApplicationContext().getBean(
"
userDAO
"
); user
=
userDAO.get(user.getName(), user.getPassword());
其实这样子的集成感觉很不错的,除了少了dto和转换(至少你要用一个copyProperty吧),pojo实现了序列化,
甚至可以直接深入到Hibernate底层,这样子就省缺了以前一直讨论formbean和po是不是合并或者在哪个层面上进
行转换。