`

struts2传参

 
阅读更多
Struts2中接收参数的几种方式:
1. 用Action的属性:
在action里面定义要接收的参数,并提供相应的setter,getter,可以和提交参数的名称一致,并不用做数据类型的转换。
如:
Java代码
public class UserAction extends ActionSupport {  
    private String password;  
    pirvate String name;  
 
  //……对应的setter,getter方法  
 
public void execeute() {  
        System.out.println(name +”:”+passowrd);  
              return “success”;  
 
}  
 


public class UserAction extends ActionSupport {
private String password;
pirvate String name;

  //……对应的setter,getter方法

public void execeute() {
System.out.println(name +”:”+passowrd);
              return “success”;

}

}

相应提交方式可以用get和post,如:userAction?password=admin&name=admin
2. 使用Domain Model:
在Action里面不存很多的属性,而是用Model层用到的模型,保存它的一个对象
如:
Java代码
public class UserAction extends ActionSupport {  
      
    private User user;  
 
  //……对应的setter,getter方法  
 
public void execeute() {  
   System.out.println(user.getName() +”:”+user.getPassowrd());  
   return “success”;  
 
}  
 


public class UserAction extends ActionSupport {

private User user;

  //……对应的setter,getter方法

public void execeute() {
   System.out.println(user.getName() +”:”+user.getPassowrd());
   return “success”;

}

}

提交参数:userAction?user.password=1&user.name=admin;这里面的user指向Action里面的user。

3. 使用DTO--数据传输对象
它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过来,做处理后,再传递给相应方法去创建User对象。
Java代码
public class UserDTO {  
 
    private String name;  
    private String password;  
    private String confirm;  
//……对应的setter,getter方法  


public class UserDTO {

private String name;
private String password;
private String confirm;
//……对应的setter,getter方法
}

可能的Action
Java代码
public class UserAction extends ActionSupport {  
      
    private UserDTO  user;  
 
  //……对应的setter,getter方法  
 
public void execeute() {  
    if(checkdate(userDTO userDTO) )//检查数据{  
        newUser(UserDTO  userDTO)//创建User对象  
 
            System.out.println(user.name +”:”+user.passowrd);  
 
return “success”;  
}  
return “fail”;  
 
}  
 


public class UserAction extends ActionSupport {

private UserDTO  user;

  //……对应的setter,getter方法

public void execeute() {
if(checkdate(userDTO userDTO) )//检查数据{
newUser(UserDTO  userDTO)//创建User对象

System.out.println(user.name +”:”+user.passowrd);

return “success”;
}
return “fail”;

}

}


提交参数的方式的Domail Model方式的相同。


4.使用ModelDriven:
在创建Action的时候,发现Action实现了ModelDriven接口,去调用 接口的getModel()方法,取到了User。
Java代码
public class UserAction extends ActionSupport implements ModelDriven<User> {  
      
    private User user = new User();  //这里要手动的New下  
 
  //……对应的setter,getter方法  
 
public void execeute() {  
        System.out.println(user.name +”:”+user.passowrd);  
return “success”;  
 
}  
 
@Override 
    public User getModel() {  
    return user;  
}  

struts2中的传参还有待于思考下它的思路!有高手请指点下,不胜感激!
分享到:
评论

相关推荐

    struts2 向结果传参数

    Struts2是一个流行的Java web框架,它为开发者提供了一种优雅的方式来构建动态、结构良好的Web应用程序。在Struts2中,结果(Result)是动作(Action)执行后跳转的目标,它可以是一个JSP、Servlet或其他资源。有时...

    HttpClient基本功能使用(结合Struts2传参)

    HttpClient可以帮助我们在后台模拟用户请求,与Struts2 Action进行交互,以便测试或实现服务间通信。 在使用HttpClient时,我们需要创建一个`CloseableHttpClient`实例,然后使用`HttpPost`或`HttpGet`对象来构建...

    struts2入门(传参)

    Struts2是一个强大的MVC(模型-视图-控制器)框架,被广泛应用于Java Web开发。这个入门实例主要关注如何在Struts2中传递参数,实现一个简单的登录功能。在这个过程中,我们将涉及到以下几个核心概念和步骤: 1. **...

    JSP struts2 url传参中文乱码解决办法.docx

    在开发Java Web应用程序时,尤其是使用Struts2框架与JSP进行交互时,可能会遇到URL传参中文乱码的问题。这个问题通常涉及到字符编码的设置,包括客户端请求编码、服务器接收编码以及应用程序内部处理编码的统一。...

    JSP struts2 url传参中文乱码解决办法

    JSP struts2 url传参中文乱码解决办法 1.设置struts.xml &lt;constant name=struts.i18n.encoding value=UTF-8&gt; 或是设置struts.properties(我自己没试过) struts.i18n.encoding=UTF-8 2.在web.xml添加编码过滤器 ...

    struts2 使用action属性接收中文参数(post提交)

    Struts2是一个流行的Java web框架,它用于构建和维护可扩展、模块化且易于管理的企业级应用程序。在处理用户请求时,Struts2允许开发者通过Action类来接收和处理参数,包括中文参数。当我们需要通过POST方法提交包含...

    struts2是否可以通过超链接传参

    Struts2框架确实可以通过超链接传递参数,这是它的一个基本特性。在Struts2中,你可以使用`&lt;s:iterator&gt;`标签遍历集合,并在超链接中嵌入需要传递的参数。下面详细介绍如何实现这个功能。 1. **超链接与参数传递**...

    Struts2入门教程(全新完整版)

    十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...

    struts2基本知识

    本文详细介绍了Struts2处理多个请求和域传参的相关知识点。从过滤器和拦截器的作用到动态方法调用的实现,再到具体的登录和注册请求处理示例,旨在帮助读者全面了解Struts2的基本概念和使用方法。希望本文能对你在...

    Struts2的三种传值方式比较(附demo)

    Struts2作为一款流行的Java Web框架,为开发者提供了多种传递数据的方式,使应用程序能更灵活地处理用户输入和展示结果。在本篇文章中,我们将详细探讨Struts2的三种主要的传值方式,并通过一个简单的Demo来加深理解...

    struts1总结

    总结,Struts1作为早期的Web框架,虽然现在已经被Struts2和Spring MVC等新框架所替代,但它在Java Web开发历史上的地位不容忽视,其设计理念和模式对理解现代框架仍有启发意义。通过学习Struts1,开发者能够更好地...

    Strutst2框架的总结

    Struts2是一个基于MVC设计模式的Java Web开发框架,它的主要目的是简化开发流程并提供一套规范化的开发方式。以下是对Struts2框架关键知识点的详细总结: 1. **默认Action**:如果没有指定Action,系统会默认使用`...

    struts hibernate spring 知识点

    Struts2是一个基于MVC设计模式的Java Web框架,它主要负责控制应用程序的流程,将用户的请求导向到相应的业务逻辑。在Struts2中,Action是核心组件,它实现了业务逻辑处理。Struts2的配置文件包括web.xml和struts....

    Struts开发文档

    ### Struts2 开发知识点详解 #### 一、Struts2 概述 **Struts2** 是一个基于 **MVC (Model-View-Controller)** 设计模式的开源框架,用于简化 Java Web 应用程序的开发过程。它提供了一种结构化的方式来组织应用...

Global site tag (gtag.js) - Google Analytics