Www.helper3.com
热门关键字: php net javascript java
Struts2基础 专题
专题目录
您的位置:java > Struts2基础专题 > Struts2模型驱动实例
Struts2模型驱动实例
作者:--    发布时间:2019-11-20 10:14:35
这里我们创建一个web工程为:struts2-modeldrive ,用于讲解演示struts2模型驱动这一章内容的学习。

如果一个动作实现了“模型驱动”- modeldriven 接口,它就获得了表单数据自动传输到对象的额外能力。请参见下面的完整的例子:

1. 域对象

一个顾客(customer)对象,有 setter 和 getter 方法。

customer.java

package com.h3.common;

public class customer{
	
	string name;
	int age;
	
	public string getname() {
		return name;
	}
	public void setname(string name) {
		this.name = name;
	}
	public int getage() {
		return age;
	}
	public void setage(int age) {
		this.age = age;
	}

}

2. 动作 - action

action类,实现了模型驱动modeldriven 接口,声明getmodel()方法返回客户的对象。当表单数据提交到这个动作,它会自动将表单数据传输到客户的属性。

客户对象必须手动初始化。

customeraction.java

package com.h3.common.action;

import com.h3.common.customer;
import com.opensymphony.xwork2.actionsupport;
import com.opensymphony.xwork2.modeldriven;
 
public class customeraction extends actionsupport 
	implements modeldriven{

	//have to initialize it
	customer customer = new customer();
	
	public string execute() throws exception {
	
		return success;
		
	}

	public object getmodel() {
		
		return customer;
		
	}
}

3. jsp页面

jsp页面的模型驱动(modeldriven)的示范。

addcustomer.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
 
<body>
<h1>struts 2 modeldriven example</h1>

<h2>add customer</h2>
<s:form  action="customeraction" >
  <s:textfield name="name" label="name" />
  <s:textfield name="age" label="age" value=""/>
  <s:submit />
</s:form>

</body>
</html>

success.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
 
<body>
<h1>struts 2 modeldriven example</h1>

<h2>customer details</h2>
name : <s:property value="name" /><br>
age : <s:property value="age" /><br>

</body>
</html>

4. 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>
 	<constant name="struts.devmode" value="true" />
 	
	<package name="default" namespace="/" extends="struts-default">
		
		<action name="addcustomeraction" 
			class="com.h3.common.action.customeraction" >
		    <result name="success">pages/addcustomer.jsp</result>
		</action>
	
		<action name="customeraction" 
			class="com.h3.common.action.customeraction" >
		    <result name="success">pages/success.jsp</result>
		</action>
		
	</package>
	
</struts>

5. 示例

访问客户表,填写表格 (name : “h3.com”, age ” “26”) 并点击提交按钮,表单数据(name & age) 将自动转移到客户的属性(name & age) (按属性名称匹配)。

http://localhost:8080/struts2-modeldrive/addcustomeraction.action

http://localhost:8080/struts2-modeldrive/customeraction.action



工程源代码下载 - http://pan.baidu.com/s/1hqxyjf2

滚动到顶部 滚动到底部
网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
QQ群:570078429
网站备案号:
粤ICP备17073857号