关于el循环里的赋值问题


<c:forEach var="user" items="${user}">
            <tr align="center">
                <td><input type="checkbox" class="checkOne"></td>
                <td>${user.id}</td>
                <td>${user.username}</td>
                <td>${user.password}</td>
                <td>${user.sal}</td>
                <td>${user.birthday}</td>
                <td>
                    <input type="button" id="delOne" value="删除"  onclick="delOne(${user})">
                </td>
            </tr>
        </c:forEach>


function delOne(user) {
            console.log(user)
        }

点击按钮后,会在网页控制台提示:Uncaught SyntaxError: missing ) after argument list
位置就在button后面,如图:

img

但是我将delOne(${user})替换为user的成员变量如:delOne(${user.id})就没有这个问题
请问这是什么情况?

不能直接删除user,你可以通过主键来删除user,例如id是唯一的,就用user.id来删除user

懂了,el表达式对于对象成员变量的引用其实是因为el会补全get将首字母大写进行搜索这个get方法来着,
我觉得这就是他不能用作get对象本身得原因,即${不能单独用对象本身,而应当是其含有的get方法的变量}