代码如下
<c:forEach items="${users}" var="users">
<tr>
<td width="40%">${users.name}</td>
<td width="40%">${users.password}</td>
<td align="center">【编辑】【删除】</td>
</tr>
</c:forEach>
给编辑加一个连接 点击后传到编辑页面 servlet如何获取${users.name}${users.password}的值
<c:forEach items="${users}" var="users">
<tr>
<td width="40%">${users.name}</td>
<td width="40%">${users.password}</td>
<td align="center">【编辑】【删除】</td>
</tr>
</c:forEach>
给编辑加一个连接 点击后传到编辑页面 servlet如何获取${users.name}${users.password}的值
<a herf="UpdateServlet?name=${users.name}">修改</a>
当然,如果点修改,你想在当前页面改的话,你可以用javascript
<tr bgcolor="#EFF3F7">
<td align="center">${us.id}</td>
<td align="center">${us.username }</td>
<td align="center">${us.password}</td>
<td align="center">${us.age}</td>
<td><a href="removeUser.action?user.id=${us.id}">删除</a></td>
<td><a href="updateP.action?user.id=${us.id}">更新</a></td>
</tr>
</c:forEach>
通过传到action或servlet的id,,load或get
public Object load(Class theClass,Serializable id)
public Object get(Class clazz,Serializable id)
<input type='button' onclick=test(${user.name}) value='button' >
<script>
function test(param){
window.location.href='servlet?param='+param;
}
</script>
document.getElementById("textid").value;
<td><a href="updateP.action?user.id=${us.id}">更新</a></td>
对的,
在另一个页面用getParamater("us.id")获取
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function editMethod(tag){// tag就是<a>标签对象
var tdTag = tag.parentNode;// parentNode父节点,此处得到<td>节点
var pwdTdTag = tdTag.previousSibling;// 得到包含密码的<td>标签
var nameTdTag = pwdTdTag.previousSibling;// 得到包含用户名的<td>标签
var pwdValue = pwdTdTag.firstChild.nodeValue;//firstChild第一个子标签,nodeValue是取得文本值,此处得到password
var nameValue = nameTdTagnameTdTag.firstChild.nodeValue;//此处得到name
location.href="${pageContext.request.contextPath}/EditServlet?username="+nameValue+"&password="+pwdValue;
}
function delMethod(tag){
var tdTag = tag.parentNode;// parentNode父节点,此处得到<td>节点
var pwdTdTag = tdTag.previousSibling;// 得到包含密码的<td>标签
var nameTdTag = pwdTdTag.previousSibling;// 得到包含用户名的<td>标签
var pwdValue = pwdTdTag.firstChild.nodeValue;//firstChild第一个子标签,nodeValue是取得文本值,此处得到password
var nameValue = nameTdTagnameTdTag.firstChild.nodeValue;//此处得到name
location.href="${pageContext.request.contextPath}/DelServlet?username="+nameValue+"&password="+pwdValue;
}
</script>
</head><body>
<table border="1">
<tr>
<td>张三</td>
<td>123456</td>
<td><a href="#" onclick="editMethod(this);">【编辑】</a><a href="#" onclick="delMethod(this);"">【删除】</a></td>
</tr>
<tr>
<td>李四</td>
<td>abcdefg</td>
<td><a href="#" onclick="editMethod(this);">【编辑】</a><a href="#" onclick="delMethod(this);"">【删除】</a></td>
</tr>
</table>
</body>
</html>
写的不是很好,应该再继续封装下,专门写个方法是获取name和password,返回这两个值,然后在editMethod(tag)和delMethod(tag)调用这个方法。
element.parentNode XMLElement 父节点
element.childNodes Array 子节点
element.firstChild XMLElement 第一个子元素
element.lastChild XMLElement 最后一个子元素
element.nextSibling XMLElement 下一个同一级别的兄弟节点
element.previousSibling XMLElement 上一个同一级别的兄弟节点
<td>张三</td>
<td>123456</td>这在IE和火狐应该有差异,IE下<td>123456</td>上一个兄弟节点是<td>张三</td>,而在火狐是换行,而上上节点才是<td>张三</td>
<a href="<%=basePath%>/deleteUser.do?userNo=${user.userNo}">删除</a>
</td><td>
<a href="<%=basePath%>/findUser.do?userNo=${user.userNo}"> 更新</a>
</td>已成功搞掂