如何在前端输入多个同一对象的各个值,将这个对象的集合传入到java后台中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在前端输入多个同一对象的各个值,将这个对象的集合传入到java后台中相关的知识,希望对你有一定的参考价值。

比如说一行显示一个对象如user的属性值,通过<input type="text">进行对每个属性就行赋值,一行输入一组数据,生成一个user对象,多行就是一个存入多个user 的 List集合,然后怎么把list集合传入到后台?

参考技术A user.属性即可
前端如下:
<input type="text" name="user.name">
<input type="text" name="user.name">
<input type="text" name="user.name">
后端action如下:
public class TestAction
private List<User> list;
public List<User> getUser()
return this.list

public void setLit(List<User> list)
this.list = list;


描述简略,如有疑问可追答追问

我是基于SSM框架的,这样的话可能将这个list集合传递到后台吗?

参考技术B 前端以id的方式传参,每个input设置不同的id,后台方法参数里面接收不就行了,具体怎么ssm框架下前端传参到后台,百度一下就ok

多线程篇五:多个线程访问共享对象和数据的方式

1.多个线程共享一个变量实现方式1 :  将共享数据封装当另外一个对象中,然后将这个对象传递给各个Runnable对象

package com.test.shareData;

/**
 * 多个线程共享一个变量:1.将共享数据封装当另外一个对象中,然后将这个对象传递给各个Runnable对象
 * @author Administrator
 *
 */
public class MultiThreadShareData {

    public static void main(String[] args) {
        ShareData data1=new ShareData();
        new Thread(new MyRunnable1(data1)).start();
        new Thread(new MyRunnable2(data1)).start();
        System.out.println("mian: "+data1.getCount());
    }

}


class MyRunnable1 implements Runnable{
    private ShareData data1;
    public MyRunnable1(ShareData data){
        this.data1=data;
    }
    @Override
    public void run() {
        data1.increment();
        System.out.println("MyRunnable1:"+data1.getCount());
    }
}

class MyRunnable2 implements Runnable{
    private ShareData data2;
    public MyRunnable2(ShareData data){
        this.data2=data;
    }
    @Override
    public void run() {
        data2.increment();
        System.out.println("MyRunnable2:"+data2.getCount());
    }
}

 class ShareData{
    private int count=100;
    void increment(){
        count++;
    }
    
    public int getCount() {
        return count;
    }
}
View Code

2.多个线程共享一个变量实现方式2 : 将多个Runnable对象作为一个类的内部了,将共享变量作为外部类的成员变量

package com.test.shareData;

/**
 * 多个线程共享一个变量:2.将多个Runnable对象作为一个类的内部了,将共享变量作为外部类的成员变量
 * @author Administrator
 *
 */
public class MultiThreadShareData1 {
    static ShareData1 data1=new ShareData1();
    public static void main(String[] args) {
        new Thread(new Runnable(){
            @Override
            public void run() {
                data1.increment();
            }
        }).start();
        new Thread(new Runnable(){
            @Override
            public void run() {
                data1.decrement();
            }
        }).start();
        System.out.println("mian: "+data1.getCount());
        //mian: 102
    }
}


 class ShareData1{
    private int count=100;
    void increment(){
        count++;
    }
    void decrement(){
        count--;
    }
    
    public int getCount() {
        return count;
    }
}
View Code

3.测试题 : 4个线程,其中两个每次对j加1,另外两个每次对j减1

package com.test.shareData;

/**
 * 4个线程,其中两个每次对j加1,另外两个每次对j减1
 * @author Administrator
 *
 */
public class MultiThreadShareDataTest {
    private int j;
    
    public static void main(String[] args) {
        MultiThreadShareDataTest test=new MultiThreadShareDataTest();
        IncTest in =test.new IncTest();
        DecTest de =test.new DecTest();
        for(int i=0;i<2;i++){
            Thread t1=new Thread(in);
            t1.start();

            t1=new Thread(de);
            t1.start();
        }
    }
    
    private synchronized void inc(){
        j++;
        System.out.println("Current Thread :"+Thread.currentThread().getName()+" j:"+j);
    }
    
    private synchronized void dec(){
        j--;
        System.out.println("Current Thread :"+Thread.currentThread().getName()+" j:"+j);
    }
     
     
    class IncTest implements Runnable{
            @Override
            public void run() {
                for(int i=0;i<100;i++){
                    inc();
                }
            }
    }
     
    class DecTest implements Runnable{
            @Override
            public void run() {
                for(int i=0;i<100;i++){
                    dec();
                }
            }
    }
}
View Code

 

以上是关于如何在前端输入多个同一对象的各个值,将这个对象的集合传入到java后台中的主要内容,如果未能解决你的问题,请参考以下文章

前端多个变量指向同一个对象的问题

多个线程访问共享对象和数据的方式

如何使用记录类型、对象和构造函数在 PLSQL 中给出多个输入值?

Java多线程与并发库7.多个线程之间共享数据的方式探讨

如何在 C# 中反序列化多个 JSON 对象?

有效地更新同一字段多个对象django