初学WW,很好奇,不过也觉得有些地方不是很明白,比如ModelDriven。
下面一个例子:
input.jsp
html 代码
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%@ taglib prefix="ww" uri="/webwork" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Input User Profile</title>
- <style>
- body,td {
- font-size: 12px;
- font-family: simsun;
- }
- </style>
- </head>
- <body>
- <ww:form method="post" action="showUser.action">
- <ww:textfield name="user.name" label="名字" />
- <ww:textfield name="user.sex" label="性别" />
- <ww:textfield name="user.age" label="年龄" />
- <ww:submit value="提交" />
- </ww:form>
- </body>
- </html>
User.java
java 代码
- package ch04;
-
- public class User {
- private String name;
- private String sex;
- private int age;
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-
- public void setSex(String sex) {
- this.sex = sex;
- }
-
- public String getSex() {
- return sex;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public int getAge() {
- return age;
- }
- }
ShowUserAction.java
java 代码
- package ch04;
-
- import com.opensymphony.xwork.ActionSupport;
- import ch04.User;
-
- public class ShowUserAction extends ActionSupport {
- private static final long serialVersionUID = -6765769688518023696L;
-
- private User user;
-
- public void setUser(User user) {
- this.user = user;
- }
-
- public User getUser() {
- return user;
- }
-
- public void validate() {
- if (user.getName() == null || "".equals(user.getName())) {
- addFieldError("user.name", "用户名不能为空!!");
- }
- if (user.getSex() == null || "".equals(user.getSex()) || (!user.getSex().equals("man") && !user.getSex().equals("woman")) ){
- addFieldError("user.sex", "性别填写不正确!");
- }
- if (user.getAge() <= 0) {
- addFieldError("user.age", "年龄填写不正确!");
- }
- }
-
- public String execute() {
- return SUCCESS;
- }
-
- }
用上面的方式完全不用ModelDriven,而且可以同时填写多个model,由execute调用。
再说,modelDriven方式不赞成在execute时修改model的引用,修改了也没用-_-,总觉得这样是多余的。
个人认为modelDriven是在用于表单所有字段都是一个域中的字段那种方式,别的,一般方式(即上面的方式)就已经足够了,而且足够灵活。
分享到:
相关推荐
ModelDriven用法 拦截器 struts2
NULL 博文链接:https://diaochenlong2.iteye.com/blog/1829436
刚开始学struts2时,自己写的小工程。
struts2的ModelDriven和Prepareable接口使用demo,包括显示数据,增加数据,删除数据和修改数据
IBM基于模型等项目开发ibm_modeldriven2
Java详解ModelDriven和Preparable拦截器.doc
Struts2_ModelDriven接收参数(项目案例及视频) 初学者必备.
[尚硅谷]_封捷_ModelDriven和Preparable拦截器.pdf
struts2中action实现ModelDriven后无法返回json的解决方法,需要的朋友可以参考一下
自己的总结 还很不全面希望对你您有用 主要是控制url
使用Hibernate的模型驱动ModelDriven可以方便接收用户从页面输入的值。 第一步: 在Action类中构建模型驱动并设置它的泛型(可以是POJO类中,即数据库表的映射类) public class SupplierSort_Action extends ...
Struts2_Action学习笔记、通配符{1},{2}......
b.XXaction中该对象返回个给实现对象ModelDriven的泛型, 即action中下面方法 return的model 对象引用 public OperatingConditionsEntity getModel() { return model; } 2.加#号的放置获取,放置在制定域...
2.struts2_2 validationl,ModelDriven,properties 3.struts2_interceptor 拦截器,自定义拦截器 4.struts2_log4j 5.struts2_spring struts spring 整合 以上功能包含完整示例代码 Eclipse Java EE IDE for Web ...
纯Struts2 struts-2.3.16.1版本下的demo,1、Struts2标签 2、Action 3、ActionSupport中validate 4、prepare 5、modeldriven 6、国际化 7、Token 8、拦截器
3、 ModelDriven接收参数 11 十、 Action属性接收参数中文问题 12 十一、 简单数据验证 12 十二、 访问Web元素 14 一、 方法一:ActionContext方式 15 二、 方式二:Ioc(控制反转)—推荐使用 15 三、 方式三:获取原...
3、 ModelDriven接收参数 11 十、 Action属性接收参数中文问题 12 十一、 简单数据验证 12 十二、 访问Web元素 14 一、 方法一:ActionContext方式 15 二、 方式二:Ioc(控制反转)—推荐使用 15 三、 方式三:获取原...
Spring4.0、Struts2.3.15、Hibernate4.2.4、jQuery1.9.1涉及到了诸多开发时的细节:ModelDriven、Preparable 拦截器、编写自定义的类型转换器、Struts2 处理 Ajax、OpenSessionInViewFilter、迫切左外连接、Spring ...
参考一下链接,修改了下,做了个例子 http://shiningwu.javaeye.com/blog/184117 差别在于action没有继承ModelDriven,并且把所有需要的jar包都打包了,实现了登陆,修改,删除,一览功能 工具为mysql + tomcat6