美文网首页
struts2|action接收来自jsp的参数?

struts2|action接收来自jsp的参数?

作者: 洗黑 | 来源:发表于2017-10-23 18:29 被阅读8次

一、jsp向服务器提交参数的方法如下:

  1. Form表单提交。
  2. request.setAttribute();和request.getAttribute();
  3. URL传值。
  4. <jsp:param>
<jsp:forward page="getParam.jsp">  
  <jsp:param name="name" value="111"/>  
  <jsp:param name="password" value="123"/>  
</jsp:forward>  

二、action接收参数的方式有如下三种。

1. action类中设置接受参数的同名private属性,生成相关属性的set、get方法。调用set方法自动把jsp参数值传给属性。

jsp页面如下:

<html>
<head></head>
<body>
<form action="login" method="login">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="submit" type="submit" />
</form>
</body>
</html>

action类如下:

public class UserAction extends ActionSupport {
    private String username;
        private String password;
        private void setUsername(String username) {
          this.username = username;
        }
        private String getUsername() {
          return username;
        }
        private void setPassword(String password) {
          this.password = password;
        }
        private String getPassword() {
          return password;
        }
}   

不需要生成实体类。

2. 域模型(DomainModel)

jsp页面如下(参数名称改变了):

<html>
<head></head>
<body>
<form action="login" method="login">
<input name="user.username" type="text" />
<input name="user.password" type="password" />
<input name="submit" type="submit" />
</form>
</body>
</html>

action类如下:

public class UserAction2 extends ActionSupport {
 private User;
 private void setUser(User user) {
   this.username = username;
 }
 private User getUser() {
   return user;
 }
}   

实体类如下:

public class User {
  private String username;
  private String password;
  private void setUsername(String username) {
    this.username = username;
  }
  private String getUsername() {
    return username;
  }
  private void setPassword(String password) {
    this.password = password;
  }
  private String getPassword() {
    return password;
  }
}

3. 模型驱动(ModelDriven)

体现MVC思想。action类实现ModelDriven接口。
jsp页面如下:

<html>
<head></head>
<body>
<form action="login" method="login">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="submit" type="submit" />
</form>
</body>
</html>

action类如下(实体类实例化):

public class UserAction3 extends ActionSupport implement ModelDriven {
  private User user = new User();

  @overwrite
  public User getModel() {
    return user;
  }
}   

实体类如下:

public class User {
  private String username;
  private String password;
  private void setUsername(String username) {
    this.username = username;
  }
  private String getUsername() {
    return username;
  }
  private void setPassword(String password) {
    this.password = password;
  }
  private String getPassword() {
    return password;
  }
}

相关文章

  • struts2|action接收来自jsp的参数?

    一、jsp向服务器提交参数的方法如下: Form表单提交。 request.setAttribute();和req...

  • Struts2中类型转换配置

    类型转换:将jsp页面的请求参数进行类型的转换后再赋值给action的属性 Struts2已经内建了对于Strin...

  • Struts2

    struts2介绍 使用 Action Struts配置文件 struts2访问过程 Action细节 请求参数封...

  • SSH框架之Struts2进阶数据封装与结果页面的配置(二)

    第一节:Struts2访问Servlet的API 考虑这么一种情况:如果表单中有参数,通过Action如何进行接收...

  • Struts2学习 一 自定义类型转换器

    struts2中,使用Jsp提交表单数据时,struts2会自动将表单中的数据封装,并复制给对应Action中的属...

  • 对struts2的action接收参数的理解

    只接收参数值(非对象) Action中的参数若前台只是单纯的传递值 如:Form中 后台接收的方法只要有setUs...

  • 2017-07-28

    redirect:action处理完后重定向到一个视图资源(如:jsp页面),请求参数全部丢失,action处理结...

  • SpringMVC中的参数绑定总结

    SpringMVC中的参数绑定 1. 参数绑定过程 在struts2中,是通过在Action中定义一个成员变量...

  • struts2和springmvc对比

    Struts2处理请求是为每个请求都创建一个单独的Action类,Action类当中的Field属性参数作为输入和...

  • 无语

    用idea写ssh整合的时候jsp页面的属性对不上struts2的action的模型驱动中的属性编写的时候给我来几...

网友评论

      本文标题:struts2|action接收来自jsp的参数?

      本文链接:https://www.haomeiwen.com/subject/vxeauxtx.html