`
百合不是茶
  • 浏览: 355960 次
社区版块
存档分类
最新评论
阅读更多

Struts2中,支持直接使用领域对象获取用户输入的值,再也不用像Servlet中要Request.request.getparameter(" ");才能获取到;  Struts中的领域对象  ,ModelDriven ,action属性三种方式

 

           Struts中的领域对象;将类的属性写成一个User类,在Struts转发的页面会创建这个类,并创建set和

 get方法;代码下面已经实现    ; 代码下面已经实现

 

          action属性;与java bean的方式差不多    ;代码下面已经实现

 

          ModelDriven ;需要实现Action,ModelDriven接口,在实现的接口页面 手工穿件User的对象,不能创建Set和Get方法   ,实现getModel()方法     ;代码下面已经实现

 

1,Struts中的领域对象:

   a,登陆页面;

   

<form action="login" method="post">
登录页面:
    账号:<input type="text" name="user.username" />
    
 密码:<input type="password"  name="user.userpwd"/>
    <input type="submit" value="提交" />
   
</form>

 

   b,struts.cml配置文件

   

 <package name="default" namespace="/" extends="struts-default">
        <action name="hello" >
            <result >/login.html</result>
        </action>
    </package>
    
    <package name="main" extends="struts-default" >
      <action name="login" class="ActionDemo.ActionDemoSupport">
        <result name="hello">/1.jsp</result>
        <result name="hellow">/loginfail.html</result>
      </action>
    </package>

 

   c,User类

    

package ActionDemo;

import java.io.Serializable;
public class User implements Serializable{

	private String username;
	private String userpwd;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getUserpwd() {
		return userpwd;
	}

	public void setUserpwd(String userpwd) {
		this.userpwd = userpwd;
	}
}

 

  d,Struts的转发类

   

public class ActionDemoSupport extends ActionSupport {
	//接收username和userpwd传过来的参数
	
	private User user;
	
	public User getUser() {
		return user;
	}


	public void setUser(User user) {
		this.user = user;
	}


	@Override
	public String execute() throws Exception {
		if("scott".equals(user.getUsername())&&"tiger".equals(user.getUserpwd())){
			return "hello";
		}else{
		return "hellow";
		}
	}

 

e,jsp显示页面

  <%@ taglib prefix="s" uri="/struts-tags" %>

 

 欢迎:<s:property value="user.username" />登陆



 

2,ModelDriven操作领域对象

  a,登陆页面;

   

<form action="login" method="post">
登录页面:
    账号:<input type="text" name="username" />
    
 密码:<input type="password"  name="userpwd"/>
    <input type="submit" value="提交" />
   
</form>

 

    b,Struts,xml配置

   

 <package name="default" namespace="/" extends="struts-default">
        <action name="hello" >
            <result >/login.html</result>
        </action>
    </package>
    
    <package name="main" extends="struts-default" >
      <action name="login" class="ActionDemo.ActionDemoSupport">
        <result name="hello">/1.jsp</result>
        <result name="hellow">/loginfail.html</result>
      </action>
    </package>

 

  c, User类

   

public class User implements Serializable{

	private String username;
	private String userpwd;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getUserpwd() {
		return userpwd;
	}

	public void setUserpwd(String userpwd) {
		this.userpwd = userpwd;
	}
}

 

d,使用ModelDriver接收用户数据

    

public class ActionDemoSupport implements Action,ModelDriven<User> {
	//ModelDriven接收用户输入必须要new ,action和领域对象接收用户输入是不需要创建对象的
	private User user =new User();

	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user;
	}

	@Override
	public String execute() throws Exception {
		if ("scott".equals(user.getUsername()) && "tiger".equals(user.getUserpwd())) {
			return "hello";
		}
		return "hellow";
	}
	

 

e,jsp显示页面

<%@ taglib prefix="s" uri="/struts-tags" %>

 欢迎:<s:property value="username" />登陆

 



 

 

 

3,action属性操作接收用户输入

   a,登陆页面 ;

    

<form action="login" method="post">
登录页面:
    账号:<input type="text" name="username" />
    
 密码:<input type="password"  name="userpwd"/>
    <input type="submit" value="提交" />
   
</form>

 

   b,struts.xml配置

   

 <package name="default" namespace="/" extends="struts-default">
        <action name="hello" >
            <result >/login.html</result>
        </action>
    </package>
    
    <package name="main" extends="struts-default" >
      <action name="login" class="ActionDemo.ActionDemoSupport">
        <result name="hello">/loginsucc.html</result>
        <result name="hellow">/loginfail.html</result>
      </action>
    </package>

 

   c, struts的action转发类

      

package ActionDemo;

import com.opensymphony.xwork2.ActionSupport;

/**
 * 
 * @author Administrator Struts里面的转发类
 */
public class ActionDemoSupport extends ActionSupport {
	//接收username和userpwd传过来的参数
	private String username;
	private String userpwd;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getUserpwd() {
		return userpwd;
	}

	public void setUserpwd(String userpwd) {
		this.userpwd = userpwd;
	}
   
	//转发的方法
	@Override
	public String execute() throws Exception {
		System.out.println(">"+username+"<>"+userpwd+"<");
		if ("scott".equals(username) && "tiger".equals(userpwd)) {
			return "hello";
		} else {
			return "hellow";
		}

	}
}

 

    

 

  • 大小: 8.5 KB
0
0
分享到:
评论

相关推荐

    struts2.3.4.1注解零配置

    Struts2.3.4.1是一个流行的Java Web框架的版本,它引入了注解支持,使得开发者可以实现“零配置”开发,大大简化了应用的配置过程。在这个"struts2.3.4.1注解零配置"的例子中,我们将深入探讨如何利用Struts2的注解...

    struts2.3+hibernate3.6+spring3.0整合实例

    1. **Struts2.3**:Struts2是一个强大的MVC框架,它负责处理用户的请求,并将其转发到相应的业务逻辑。在Struts2.3中,Action类是核心组件,用于接收和处理HTTP请求。配置文件`struts.xml`定义了Action与URL的映射,...

    struts2.3 spring3.2 mybatis3.2 lucene4.2搜索引擎

    Struts2.3、Spring3.2、MyBatis3.2 和 Lucene4.2 是四个在Java Web开发中非常关键的技术组件,它们分别在应用程序的架构、依赖注入、数据库操作和全文检索方面扮演着重要角色。接下来,我们将详细探讨这四个技术以及...

    ajax-struts2需要的3个包

    在Web开发领域,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许页面无需刷新就能与服务器进行数据交互,提升用户体验。Struts2是一个非常流行的Java Web框架,它支持多种扩展,包括Ajax...

    Struts1.1+spring2.5+ibatis2.3+Ajax整合的源代码

    在Struts1.1中,ActionForm用于接收和验证用户输入,而ActionServlet作为控制器协调请求与业务逻辑。此示例中,Struts1.1可能被用来处理HTTP请求,并调用相应的Action来响应用户的操作。 2. **Spring2.5**:Spring...

    ssi框架集成增删改查及存储过程(spring2.5+struts2.1+ibatis2.3)

    在这个项目中,开发者利用了Spring 2.5、Struts 2.1和iBatis 2.3这三个组件来实现数据的增删改查功能,并且结合了存储过程来增强数据库操作的灵活性。同时,通过Junit进行单元测试,确保代码的正确性和稳定性。 ...

    struts2 学习重点笔记

    - **输入验证**:确保所有输入数据经过严格的验证。 - **权限控制**:实现细粒度的权限管理,防止未授权访问。 **5.3 错误处理** - **异常捕获**:通过异常拦截器捕捉并处理运行时异常。 - **错误页面**:配置错误...

    Struts用户指南

    - **数据绑定**:Struts框架支持自动的数据绑定功能,能够将用户提交的数据自动填充到对应的ActionForm Bean中。 ### 总结 Struts是一个强大的Java Web应用程序框架,它通过实现MVC模式来简化Web应用程序的开发...

    struts编程思想初探

    ##### 2.3 用Struts实现MVC **2.3.1 MVC Model2** Struts框架采用了MVC Model2模式,这是一种服务器端的MVC实现方式。在这种模式下,模型、视图和控制器都位于服务器端,客户端只需要发送请求并接收响应即可。 **...

    Struts书籍 Struts_In_Action_中文版

    Struts的控制器组件是其核心之一,负责接收用户的请求、调用业务逻辑层处理数据,并将结果返回给视图层展示。 **2.2.4 用Struts开发Web应用** 这部分详细讲解了如何利用Struts框架来构建完整的Web应用程序,包括...

    helloapp struts 孙卫琴 基于MVC的struts应用

    5. **工作流程**:当用户发送请求时,Struts框架通过FilterDispatcher(在Servlet 2.3规范中)或FrontController(在Servlet 2.4及以上规范中)拦截请求,解析请求参数,然后根据struts-config.xml中的配置找到对应...

    Struts2+hibernate整合

    在"Struts2+Hibernate整合"项目中,使用的是Struts2的S2-2.3版本和Hibernate的4.17版本。这两个版本都是成熟且稳定的选择,能够提供强大的功能和良好的兼容性。这个项目的主要目标是实现用户注册功能,并展示所有已...

    struts2 权威指南

    - **控制器**:处理用户的输入,并控制模型和视图之间的交互。 ##### 3.2 Struts2中的MVC实现 在Struts2中,这三个组件的具体实现如下: - **模型**:通常是由Java Bean或POJO对象组成,它们包含了应用程序的数据...

    struts

    模型组件通常是通过ActionForm对象实现的,用于封装用户的表单输入数据。 - **视图组件**:展示给用户的界面,通常是由JSP页面构成。 #### 三、Struts框架的工作原理 ##### 3.1 Struts控制流 - **流程简介**:当...

    struts2

    CGI允许Web应用从数据库读取信息并呈现给用户,还能接收用户输入的数据并存储到数据库中。然而,CGI技术在开发复杂应用时显得较为繁琐且效率低下。 - **Servlet技术的兴起**:随着Java语言的普及,Servlet技术逐渐...

    <Struts Web设计与开发大全>电子版

    - **控制器(Controller)**:负责处理用户输入,并将控制权传递给模型和视图。 - **1.2.2 Java Web的实现模型** - 在Java Web开发中,MVC模式通常由Servlet作为控制器、JSP作为视图、以及JavaBean作为模型来实现...

Global site tag (gtag.js) - Google Analytics