快速业务通道

Unmi的Struts2学习笔记(七) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
据输入的用户名自动修动输入框的 name。

用户名: <input name="users(''scott'').name"/>

密 码: <input name="users(''scott'').pass"/>

显示的时候页面可用标签

用户名: <s:property value="users(''scott'').name"/>

密 码: <s:property value="users(''scott'').pass"/>

注意前面,访问 Set 元素是用的圆括号,而不同于 Map、List、数组是用中 括号。我想一般也犯不着非要用 Set 而不用 List,Struts 2 中用 Set 比在 Struts 1 中似乎还麻烦。

8. Struts 2 内建了一批转换器:boolean、char、int、long、float、 double 和它们的包装类型;Date,日期格式使用请求所在 Locale 的 SHORT 格 式;数组,默认元素为字符串,其他类型则要转换每一个元素?(好像是一次性转 换完成的);集合,默认元素为字符串 XWorkList(String.class, Object[]),其 他如 List<Integer> ids,类型为 XWorkList(Integer.class, Object[]) ,XWorkList 继承自 ArrayList。

9. 类型转换出错由 Struts 来帮你处理,在默认拦截器栈中提供了 conversionError 拦截器,不用你写一点代码逻辑。conversionError 在出错时 将错误封装成 fieldError,并放在 ActionContext 中。你所要做的就是遵循它 的规则,1) 你的 Action 要继承自 ActionSupport,2)在 struts.xml 中声明名 为 "input" 的 result,出错时会在 input 逻辑视图显示信息。3)尽量用标签来 写输入域(如<s:textfield name="number" label="数量"/>),这样转换出 错后,就会像校验失败一样把错误信息显示在每个输入框上面(视模板而定),否 则要手工用 <s:fielderror/> 输出在某处。

默认时输出错误信息为(比如是属性 number,输入的是字符串时):Invalid field value for field "number".你可以改变默认显示,在全局国际化资源文件 中加上 xwork.default.invalid.fieldvalue={0}字段类型转换失败!。在某些时 候,可能还需要对特定字段指定特别的提示信息,那么在名为 ActionName.properties 的局部资源文件中加上 invalid.fieldvalue.属性名=提 示信息 (如 invalid.fieldvalue.number=数量格式错误)

10. 最后是集合属性转换错误时的显示,对于页面中的同名输入框,有多个出 错误,如果手工用 <s:fieldError/> 只会显示一条错误,但要是输入页是 用标签(如<s:textfield name="number" label="数量"/>),仍会在每一个 出错的输入框上都提示。至此类型转换的内容也就完结了。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号