`
wanglihu
  • 浏览: 918362 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

struts2驱动模型的使用(Action类实现ModelDriven接口)

阅读更多
struts2驱动模型的使用实例:
1.modelDriven.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>模型驱动类测试</title>
  </head>
  
  <body>
    <s:form action="modeldriven.action" >
  		<s:textfield name="username" label="username"></s:textfield>
  		<s:password name="password" label="password"></s:password>
  		<s:password name="repassword" label="repassword"></s:password>
  		<s:textfield name="age" label="age"></s:textfield>
  		<s:textfield name="birthday" label="birthday"></s:textfield>
  		<s:textfield name="graduation" label="graduation"></s:textfield>
  		<s:submit value="submit"></s:submit>
  		<s:reset value="reset"></s:reset>
  	</s:form>
  </body>
</html>

2.modelDrivenSuccess.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>模型驱动类结果页面</title>
  </head>
  
  <body>
   <table align="center" border=1 width="50%">
    		<tr>
    			<td>username</td>
    			<td>${requestScope.username }</td>
    		</tr>
    		<tr>
    			<td>password</td>
    			<td>${requestScope.password }</td>
    		</tr>
    		<tr>
    			<td>repassword</td>
    			<td>${requestScope.repassword }</td>
    		</tr>
    		<tr>
    			<td>age</td>
    			<td>${requestScope.age }</td>
    		</tr>
    		<tr>
    			<td>birthday</td>
    			<td>${requestScope.birthday }</td>
    		</tr>
    		<tr>
    			<td>graduation</td>
    			<td>${requestScope.graduation }</td>
    		</tr>
    </table>
  </body>
</html>

3.User.java(POJO)
package com.hitsoft.model;
import java.util.Date;
public class User {
	private String username;
	private String password;
	private String repassword;
	private int age;
	private Date birthday;
	private Date graduation;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getRepassword() {
		return repassword;
	}
	public void setRepassword(String repassword) {
		this.repassword = repassword;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public Date getGraduation() {
		return graduation;
	}
	public void setGraduation(Date graduation) {
		this.graduation = graduation;
	}
	
}


4.ModelDrivenAction类
package com.hitsoft.action;
import com.hitsoft.model.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
//Preparable是在execute()方法调用之前执行的
@SuppressWarnings("unchecked")
public class ModelDrivenAction extends ActionSupport implements ModelDriven<User>,Preparable{
	private User user = new User();
	public User getModel() {
		return user;
	}
	
	public String execute(){
		System.out.println("execute invoked!");
		return SUCCESS;
	}

	public void prepare() throws Exception {
		System.out.println("prepare invoked!");
	}
}

5.struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="struts2"  extends="struts-default">
	<action name="modeldriven" class="com.hitsoft.action.ModelDrivenAction" >
		<result name="success">/modelDrivenSuccess.jsp</result>
		<result name="input">/modelDriven.jsp</result>
	</action>
    </package>
</struts>

6.访问地址:
http://localhost:8080/struts2/modelDriven.jsp


分享到:
评论

相关推荐

    Struts2接收参数ModelDriven

    在Struts2中,ModelDriven是它提供的一种处理模型数据的机制,能够帮助开发者更方便地管理和传递Action类中的模型数据。这篇博客文章可能详细探讨了如何在Struts2中使用ModelDriven接口来接收和处理请求参数。 ...

    struts2驱动包

    5. **模型驱动(ModelDriven)**:Struts2提供了一种模型驱动的方式,将Action与业务模型对象绑定,简化了数据处理。 6. **值栈(Value Stack)**:值栈是Struts2用来存储Action和表单属性的地方。它使得视图层可以...

    Struts2中Action接收参数的方法

    ModelDriven 是 Struts2 中的一种模型驱动接口,可以用来接收参数。具体步骤如下: 1. 在 Action 中,实现 ModelDriven 接口,并定义 Model 类的对象,例如 `user`。 2. 在 Model 类中,定义属性,例如 `userName`...

    struts2 model-driven

    3. **模型驱动(ModelDriven)接口**:Struts2提供了一个名为`com.opensymphony.xwork2.ModelDriven`的接口,Action类实现这个接口后,框架会自动将请求参数绑定到模型对象上。 **二、ModelDriven模式的使用步骤** ...

    struts2框架做的学生信息查询系统

    5. **模型驱动(ModelDriven)**:Struts2提供了ModelDriven接口,允许Action类通过关联一个模型对象来简化数据处理。在这个系统中,可能有一个`Student`模型类,用来封装学生信息,Action可以直接操作这个模型对象...

    使用struts2写的小项目

    4. **模型驱动(ModelDriven)**:一种设计模式,允许Action类通过持有模型对象来访问和操作数据。 5. **值栈(Value Stack)**:Struts2中的一个重要概念,它存储了Action和结果视图之间的数据。Action中的属性会...

    struts2 action 返回json方法(一)源码

    这个方法通常会设置模型驱动对象(ModelDriven)或值栈(ValueStack)中的属性,这些属性将在JSON响应中暴露。例如: ```java public class MyAction extends ActionSupport { private String message; // ...

    Struts2 Struts2 超好的Struts2 pdf 文档

    5. **模型驱动(ModelDriven)**:这是一种简化Action类设计的方式,允许Action类仅关注业务逻辑,而将模型对象的管理交给框架。 6. **值栈(Value Stack)**:值栈是Struts2中的一个核心组件,它存储了请求中的...

    struts2 源码

    Action类只需实现ModelDriven接口,就可以自动将请求参数绑定到模型对象。 5. **值栈(Value Stack)**: 值栈是Struts2中存储Action和ActionForm对象的地方,它可以将数据传递给视图层。视图可以直接通过OGNL(Object...

    struts2的一个小例子

    3. **配置文件**:Struts2使用XML配置文件(通常命名为struts.xml)来定义Action类、结果类型和URL映射。这个配置文件定义了用户请求如何路由到特定的Action以及Action执行成功后如何跳转到相应的视图。 4. **拦截...

    Struts2入门小程序

    此外,Struts2还支持模型驱动(ModelDriven)和值栈(ValueStack)概念,使得数据绑定变得更加简单。ModelDriven模式将Action类与业务对象关联,而值栈则提供了数据共享和存储的机制。 最后,Struts2与Spring框架的...

    Struts2 的接受参数的几种方式

    要使用模型驱动,Action 类需要实现 `ModelDriven` 接口,并重写 `getModel()` 方法来指定要填充的模型对象类型。 **示例代码:** ```java package com.lsc.alan.action; import com.lsc.alan.vo.User; import ...

    Struts2_JSON_Demo

    - **使用ModelDriven接口**:如果Action实现了`ModelDriven`接口,模型对象的属性会被自动加入到ValueStack,从而转化为JSON。 5. **前端处理JSON**: - **JavaScript解析**:前端通常使用JavaScript的`JSON....

    struts2中的action.doc

    2. **模型驱动(ModelDriven)**:模型驱动方式允许Action类引用一个模型对象,该对象包含了所有要处理的数据。在这种模式下,Action不再直接包含业务数据,而是持有一个域对象的引用。域对象的属性与页面元素一一...

    Struts2核心包

    5. **模型驱动(ModelDriven)**:Struts2支持模型驱动,允许Action类引用一个模型对象,这样可以直接操作模型对象属性,简化视图与模型的数据绑定。 6. **工作流(Workflow)**:Struts2的工作流组件负责解析用户...

    struts2的核心jar包

    - Struts2提供了ModelDriven接口,使得Action可以直接与模型对象关联,简化了数据绑定的过程。通过实现这个接口,Action可以自动获得模型对象的引用。 4. **值栈(Value Stack)**: - 值栈是Struts2的一个核心...

    Struts2搭配

    5. **模型驱动(ModelDriven)**:一种Action实现方式,通过实现ModelDriven接口,将Action与业务对象绑定,简化代码。 6. **ValueStack**:Struts2中的数据容器,用于存储Action属性和Ognl表达式中的对象。 7. **...

    Struts2和Struts1的什么区别

    - 提供了`ModelDriven`接口,允许为每个Action配置不同的模型对象,增加了模型数据的灵活性和可扩展性。 ### 3. **表达式语言** #### Struts1: - 主要依赖于JSTL(JavaServer Pages Standard Tag Library)进行...

    Struts2-2.2.1

    4. **模型驱动(ModelDriven)**:通过实现`ModelDriven`接口,Action可以直接绑定到一个模型对象,简化了代码。 5. **值栈(Value Stack)**:值栈是Struts2中的数据存储结构,它管理Action的属性值,可以方便地将...

    Struts2 in Action

    5. **模型驱动(ModelDriven)和值栈(Value Stack)**:Struts2引入了值栈来管理请求和展示数据,ModelDriven模式可以简化Action类的设计。书中会详细讲解值栈的工作原理,以及如何利用它进行数据绑定。 6. **...

Global site tag (gtag.js) - Google Analytics