数据传递---前台传数据到后台action的三种方法

模型驱动:
1.让action实现ModelDriven接口
2.重写getModel()方法
代码如下(配置文件什么的就不写了):

index.jsp:
···
<%@ page language=”java” contentType=”text/html; charset=UTF-8”
pageEncoding=”UTF-8”%>
<%@ taglib prefix=”s” uri=”/struts-tags”%>






</form>



···
User.java:

package com.gpnu.user;

public class User {
    private String username;
    private String password;

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

}

UserAction:

package com.gpnu.user;

import com.opensymphony.xwork2.ModelDriven;

public class UserAction implements ModelDriven<User>{
    private User user;

    @Override
    public User getModel() {
        if(user == null) {
            user = new User();
        }
        return user;
    }

    public String demo() {
        System.out.println(user.getUsername());
        System.out.println(user.getPassword());
        return "demoSuccess";
    }
}

属性驱动:将表单项的name直接设置为要传递的参数名(如username和password),将这些参数作为属性 在action中提供其setter方法即可。代码如下

index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <body>
    <form action="${pageContext.request.contextPath }/user_demo">
        <input type="text" name="username" value="root">
        <input type="text" name="password" value="123">
        <input type="submit">

    </form>

  </body>
</html>

UserAction.java:

package com.gpnu.user;

import com.opensymphony.xwork2.ModelDriven;

public class UserAction {
    private String username;
    private String password;

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

    public void setPassword(String password) {
        this.password = password;
    }



    public String demo() {
        System.out.println(username);
        System.out.println(password);
        return "demoSuccess";
    }
}

基于ongl方式传递参数:有种特别的情况 待续————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Spring Boot 框架中,前台网页下拉选项的参数可以通过表单提交的方式传递后台控制器(Controller)中。具体步骤如下: 1. 在前台网页中使用 HTML 的 <select> 标签创建下拉选项,并设置选项的 value 属性值为需要传递的参数值。 2. 在前台网页的表单中设置表单提交的方法为 POST,并设置表单的 action 属性值为后台控制器的 URL。 3. 在后台控制器中使用 @RequestParam 注解获取前台网页传递的参数值,并将参数值传递给相应的 Service 层方法进行业务处理。 4. 在 Service 层方法使用 Mybatis 框架的 @Param 注解将参数值传递给对应的 Mapper 接口方法进行数据访问操作。 例如,下面是一个简单的示例代码: 前台网页代码: ```html <form method="post" action="/user"> <select name="gender"> <option value="0">男</option> <option value="1">女</option> </select> <input type="submit" value="提交"> </form> ``` 后台控制器代码: ```java @Controller public class UserController { @Autowired private UserService userService; @PostMapping("/user") public String addUser(@RequestParam("gender") int gender) { userService.addUser(gender); return "success"; } } ``` Service 层方法代码: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public void addUser(int gender) { userMapper.addUser(gender); } } ``` Mapper 接口方法代码: ```java public interface UserMapper { void addUser(@Param("gender") int gender); } ``` 这样,就可以通过前台网页下拉选项将参数传递到 Mapper 接口方法中进行数据访问操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值