`
Luob.
  • 浏览: 1592097 次
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2 Pojo(六)

阅读更多
注意:附件中有完整案例
1.采用POJO对象的方法进行赋值和传值
2.web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <filter>
 	<filter-name>struts2</filter-name>
 	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>

   <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
   </filter-mapping>
   
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

2.struts.xml 配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<!--==================== -->
	<!--=====定义常量========= -->
	<!--==================== -->
	
	<!-- 修改请求的后缀名为.do 修改后每个请求必须要有后缀了-->
	<constant name="struts.action.extension" value="do,action"/>
	
	<!-- 默认的视图主题 <constant name="struts.ui.theme" value="simple"/>-->
	<!--+===================+-->
	<!--+=====定义基本包=======+-->
	<!--+===================+-->
	<package name="default" extends="struts-default">
		<action name="showPerson" class="com.luob.action.ShowPerson">
			<result name="success">/showPerson.jsp</result>
		</action>
	</package>
	
</struts>

3.Action
package com.luob.action;

import com.luob.model.Person;
import com.opensymphony.xwork2.ActionSupport;

public class ShowPerson extends ActionSupport {

	private Person person;  //采用POJO的方式进行赋值和存值

	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		return SUCCESS;
	}
	public Person getPerson() {
		return person;
	}
	public void setPerson(Person person) {
		this.person = person;
	}

}


4.POJO 对象
package com.luob.model;

public class Person {
	private String name;
	private String sex;
	private String age;
	private String address;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
}


6.赋值jsp页面
  <body>
   <center>
   	<s:form action="showPerson" method="post">
   		<s:textfield name="person.name" label="姓名"/>
   		<s:textfield name="person.sex"  label="性别"/>
   		<s:textfield name="person.age" label="年龄"/>
   		<s:textfield name="person.address" label="住址"/>
   		<s:submit value="提交"/>
   	</s:form>
   </center>
  </body>


7.取值jsp页面
<body>
   	<center>
   		<h3>使用POJO</h3><br/>
   		<hr>
   		姓名:${person.name}
   		性别:${person.sex}
   		年龄:${person.age}
   		地址:${person.address}
   	</center>
  </body>

分享到:
评论

相关推荐

    struts1和struts2的区别

    ### Struts1与Struts2的主要区别 #### 概述 Apache Struts 是一个用于构建企业级Java Web应用的开源框架。它分为两个版本:Struts1 和 Struts2。虽然两者都基于模型-视图-控制器(MVC)设计模式,但它们之间存在...

    Struts2与Struts1区别

    ActionSupport 类则提供了常用功能的实现,但 Action 接口并非强制,任何包含 execute 方法的普通 Java 对象(POJO)都能作为 Struts2 的 Action。 2. **线程模型**: - Struts1 的 Action 实例是单例的,这意味着...

    struts1和struts2的区别(详细)

    此外,Struts2支持POJO风格的Action,即普通的Java对象也可以作为Action使用。 #### 二、依赖于Servlet API的程度不同 - **Struts1**: 在Struts1中,Action直接依赖于Servlet API,如`HttpServletRequest`和`...

    Struts2+技术内幕——深入解析Struts2架构设计与实现原理

    本书《Struts2技术内幕——深入解析Struts2架构设计与实现原理》结合提供的《struts2基础.chm》资料,为我们提供了深入理解Struts2内部机制的机会。 首先,Struts2的核心在于它的拦截器(Interceptor)机制。拦截器...

    struts2 与 struts1的区别

    值得注意的是,在Struts2中,Action接口并不是强制性的,任何包含`execute`标记的方法所在的POJO都可以用作Action对象。 #### 二、线程安全模型 - **Struts1** 中的Action采用的是单例模式,这意味着对于所有的...

    struts2面试题

    Action 接口不是必须的,任何有 execute 标识的 POJO 对象都可以用作 Struts2 的 Action 对象。 4. Struts2 的线程模式: Struts2 Action 对象为每一个请求产生一个实例,因此没有线程安全问题。Struts1 Action 是...

    struts1和struts2区别

    - **Struts2**:Action类可以实现Action接口或者直接使用ActionSupport基类,也可以是任何具有`execute`方法的普通Java对象(POJO),这增加了代码的可定制性和可扩展性。 2. **线程模式**: - **Struts1**:...

    struts2学习心得

    4. **POJO Action类**:Struts2支持使用简单的JavaBean作为Action类,这种被称为POJO(Plain Old Java Object)的Action类继承自`ActionSupport`类,可以重写其方法来处理请求。通过这种方式,开发者可以避免在...

    Struts1和Struts2的区别和对比

    而Struts2则更倾向于使用接口,Action类可以实现Action接口或其他自定义接口,甚至可以直接使用具有execute方法的POJO对象。Struts2还提供了一个ActionSupport基类,以方便实现常见的接口功能,如国际化和数据验证。...

    转:struts1与struts2的区别

    值得注意的是,在Struts2中,Action接口并不是必需的,任何包含`execute`标记的POJO(Plain Old Java Object)对象都可以作为Action对象使用。 #### 2. 线程安全模式的不同 - **Struts1**: Struts1中的Action采用...

    STRUTS2优缺点

    - **STRUTS2 的 Action 设计更灵活:**与 STRUTS1 中 Action 必须继承自 `Action` 类不同,STRUTS2 允许 Action 作为 POJO(Plain Old Java Object)存在,这意味着开发者可以更加自由地设计业务逻辑类。...

    Struts2学习笔记

    - **Action的灵活性增强**:Struts2.x中的Action可以是任何实现了特定接口或注解的POJO,无需继承特定的基类。 - **IoC的支持**:Struts2.x内置了对IoC容器(如Spring)的支持,方便进行依赖注入,提高了代码的可...

    Struts1和Struts2的区别和对比.txt

    **Struts2**中的Action可以是任意的Java对象(POJO),不需要继承特定的类或实现特定的方法。Struts2通过拦截器(Interceptor)机制来处理请求,这种方式更加灵活,易于维护和扩展。 ##### 2. **框架架构** **...

    struts2代码演示

    - 支持POJO(Plain Old Java Object)Action,直接在Action类中声明字段,Struts2会自动将请求参数注入。 7. **国际化与本地化** - Struts2提供内置的国际化支持,通过资源文件管理多语言文本。 - 通过`Accept-...

    struts2综合笔记

    ### Struts2 综合知识点解析 #### 一、Struts2 概述与历史背景 **Struts2** 是一款流行的 Java Web 开发框架,它遵循 MVC (Model-View-Controller) 设计模式,旨在简化 Web 应用程序的开发过程。Struts2 提供了一...

Global site tag (gtag.js) - Google Analytics