WEB开发网
开发学院软件开发Java 基于 Struts 2 开发 Web 应用 阅读

基于 Struts 2 开发 Web 应用

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: S2:form 标签的 action 属性指定了 form 要提交到的 action, 该 action 名已经在 struts-user.xml 中定义,Namespace 属性和 struts-user.xml 中保持了一致,基于 Struts 2 开发 Web 应用(7),根据 strut

S2:form 标签的 action 属性指定了 form 要提交到的 action, 该 action 名已经在 struts-user.xml 中定义。Namespace 属性和 struts-user.xml 中保持了一致,根据 struts-user.xml 的配置信息,该 form 就会被提交到 UserAction 的 submitUser 方法,但是表单各个字段值是如何被 Action 识别的呢?这是由代表 HTML 各种控件的 Struts 2 标签 name 属性指定的,例如 <s2:textfield name="user.userName"/> 就将该字段的值直接映射到 UserAction 的 user 实例变量的 userName 属性,注意,这里要求 user 对象对应的 User 类必须有一个空的构造函数,另外这里的 user 应该是一个标准的 JavaBean, 所有属性应该有 get,set 方法。

我们看一下表单提交后,action 是如何处理的:

public String submitUser() { 
  userService.addUser(user); 
  return "userList"; 
} 

在调用该方法前,Struts 2 框架已经将所有表单参数自动组装到 user 对象中,所以该方法可以直接访问 user 对象,并对其做相应处理 , 该示例中的 userService 是负责 user 对象的增,删,改操作。

添加完 user 对象,该 action 返回了一个字符串”userList”, 该字符串是 struts-user.xml 中 submitUser action 设置的一个返回结果,该返回结果其实是调用另一个 action 来显示现有 user 列表。

表单校验

Struts 2 提供了很多种校验方式,一种是配置方式,可以用来校验基本数据信息,另一种是编程校验,可以用来校验较为复杂的业务逻辑。

如果是通过配置来校验,需要在 Action 类的同目录下建一个 xml 文件,命名规则是 action 类名 -action 别名 -validation.xml。例如,本示例中:UserAction-submitUser-validation.xml, 当 submitUser action 被调用的时候,会先通过该 xml 配置进行校验。下面代码片段是本示例中配置的校验参数,它指定了对哪些表单字段做哪些校验:

上一页  2 3 4 5 6 7 8 9  下一页

Tags:基于 Struts 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接