zoukankan      html  css  js  c++  java
  • struts接收参数方式

    第一种,直接用action的属性接收,是初学者常用的方法。

     1 package com.starain.user;
     2 public class User{
     3     private String username;
     4     private String password;
     5     public String getUsername(){
     6         return username;
     7     }
     8     public void setUsername(String username){
     9         this.username = username;
    10     }
    11     public String getPassword(){
    12         return password;
    13     }
    14     public void setPassword(String password){
    15         this.password = password;
    16     }
    17     public String execute(){
    18         return "success";
    19     }
    20 
    21 }

    表单中直接提交和set,get同名的参数即可

    第二种,DomainModel(或DTO)方式接收

     1 package com.starain.action;
     2 
     3 import com.starain.user.*;
     4 public class LoginAction{
     5     private User user;//struts2会自己new
     6     public String running(){
     7         if (user.getUsername().equals("admin")&&user.getPassword().equals("admin")) {
     8             return "success";
     9         }
    10         return "error";
    11     }
    12     public User getUser(){
    13         return user;
    14     }
    15     public void setUser(User user){
    16         this.user = user;
    17     }
    18     
    19 }

    对应的表单提交参数为:对象实例.参数(get,set同名参数)

    第三种,DrivenModel方式接收

     1 package com.starain.action;
     2 import com.opensymphony.xwork2.ActionSupport;
     3 import com.opensymphony.xwork2.ModelDriven;
     4 import com.starain.user.*;
     5 public class LoginAction extends ActionSupport implements ModelDriven<User>{//实现ModelDriven接口,用泛型,否则需要强制类型转换
     6     private User user = new User();//用ModelDriven的方式struts2不会自己new了,需要手动new
     7     public String running(){
     8         if (user.getUsername().equals("admin")&&user.getPassword().equals("admin")) {
     9             return "success";
    10         }
    11         return "error";
    12     }
    13     public User getUser(){
    14         return user;
    15     }
    16     public void setUser(User user){
    17         this.user = user;
    18     }
    19     
    20     //这个必须有
    21     public User getModel() {
    22         // TODO Auto-generated method stub
    23         return user;
    24     }
    25 }

    表单提交的参数直接和action中get,set同名参数即可

     一般有以下五种

    1.  用Action 的属性接收参数

    2. 使用Domain ModelModel接收参数

    3. 使用DTO--DTO--数据传输对象接收参数

    4. 使用 ModelDriven接收参数

    5. 使用request 对象接收参数

  • 相关阅读:
    快速幂精讲+代码实现
    基数排序
    Java学习-常见排序算法
    C++中不清楚的函数用法汇总
    C++中的堆及常见题目汇总
    django+nginx+uwsgi+vue部署服务器
    nginx+WSGI+uwisgi+uWISI详解及nginx/uwisgi/django交互流程
    C++中的哈希表及常见题目汇总
    C++中的二叉树及相关题目汇总
    C++中的队列及常见题目汇总
  • 原文地址:https://www.cnblogs.com/starainDou/p/4749889.html
Copyright © 2011-2022 走看看