我想实现的功能是在表格中单击某一行的delete按钮,就把同行的用户名传递到servlet进行处理,请问如何实现?
我写的代码如下,但temp返回为空:
<%@page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="DOM.UserDom"%>
<%
String path = request.getContextPath();
Vector<UserDom> user=(Vector)session.getAttribute("user");
UserDom userdom;
String temp="";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>查询</title>
<script>
function deleteUser(){
temp=document.getElementById("td1").innerHTML;
form1.submit();
}
</script>
</head>
<body>
<!--建立表格-->
<form name="form1" method="post" action="<%=path%>\UserServlet?action=delete&username=<%temp%>">
<table border="1" id="tt"><!--线宽为1-->
<tr>
<td> 用户 </td>
<td> 姓名 </td>
<td> 年龄 </td>
<td> 删除记录 </td>
</tr>
<% if(user!=null){%>
<%for(int i=0;i<user.size();i++){
userdom=(UserDom)user.get(i);%>
<tr>
<td id="td1"><a href="table.jsp?name=<%=userdom.getName()%>"><%= userdom.getName()%></a></td>
<td><%= userdom.getSex()%></td>
<td><%= userdom.getAge()%></td>
<td><input name=b type=button value=delete onclick="deleteUser()"></td>
</tr>
<%}%>
<%}%>
</table>
</form>
</body>
</html>
我写的代码如下,但temp返回为空:
<%@page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="DOM.UserDom"%>
<%
String path = request.getContextPath();
Vector<UserDom> user=(Vector)session.getAttribute("user");
UserDom userdom;
String temp="";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>查询</title>
<script>
function deleteUser(){
temp=document.getElementById("td1").innerHTML;
form1.submit();
}
</script>
</head>
<body>
<!--建立表格-->
<form name="form1" method="post" action="<%=path%>\UserServlet?action=delete&username=<%temp%>">
<table border="1" id="tt"><!--线宽为1-->
<tr>
<td> 用户 </td>
<td> 姓名 </td>
<td> 年龄 </td>
<td> 删除记录 </td>
</tr>
<% if(user!=null){%>
<%for(int i=0;i<user.size();i++){
userdom=(UserDom)user.get(i);%>
<tr>
<td id="td1"><a href="table.jsp?name=<%=userdom.getName()%>"><%= userdom.getName()%></a></td>
<td><%= userdom.getSex()%></td>
<td><%= userdom.getAge()%></td>
<td><input name=b type=button value=delete onclick="deleteUser()"></td>
</tr>
<%}%>
<%}%>
</table>
</form>
</body>
</html>
解决方案 »
- 求一个支持多文件上传,有进度条。 服务器方便用Java的js库。
- Blob字段的读取
- 几个关于新手配置struts2.0的小问题
- 一个关于webservice的安全验证问题,高手进来
- Java新手求助,谢谢!!
- Dbutils中的QueryRunner()为什么有的时候不需要传递connection对象也能使用?
- 哪位高手用JSP和XMLHTTP做过无刷新的三级以上的从数据库取数据的级联菜单,大家一起探讨一下
- 我在启动eclipde时 报了这样一个错误知道是哪里有问题请各位大哥帮忙
- 请教:什么是分布式学习系统?
- tomcat内不能使用包吗?俺把类文件放在classes下没有问题,可是做成包,放在包名路径下出错,tomcat需要做其他设置吗?
- req.setAttribute的问题
- ssh:是否需要重新建一个bean,来存储这些信息?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>查询 </title>
<script>
function deleteUser(oval){
alert(oval);
document.getElementById("username") = oval; // 将值存储到username这个隐藏字段里,然后serverlet里用request.getParamer("username")取
form1.submit();
}
</script>
</head>
<body>
<!--建立表格-->
<form name="form1" method="post">
<input type="hidden" name="username">
<table border="1" id="tt"> <!--线宽为1-->
<tr>
<td> 用户 </td>
<td> 姓名 </td>
<td> 年龄 </td>
<td> 删除记录 </td>
</tr>
<tr>
<td> user</td>
<td> 男 </td>
<td> 24 </td>
<td> <input name=b type=button value=delete onclick="deleteUser(this.parentNode.parentNode.firstChild.innerHTML)"> </td>
</tr>
</table>
</form>
</body>
</html>
<tr onclick="deleteUser(<%=userdom.getId()%>)">把主键传递过去
<script>
fucntion deleteUser(id){
var url = "<%=request.getContextPath%>/访问servlet的路径?id="+id;
window.open(url,'','');
}
</script>
<a href="提交地址&name=<%= userdom.getName()%>"
我觉的楼主写的太复了,
既然你的form中的action指定了相应的servlet来处理(也就是说,你按一下按钮就会把form里面的数据处理交给servlet来处理),不用再加&username= <%temp%>"了,
还有下面的<a href="table.jsp?name= <%=userdom.getName()%>"> <%= userdom.getName()%>都不要加,
所有的获取和附值操作都在servlet来处理就可以了,
你这样业务逻辑又乱,而且容易出错。你在servlet中用request.getParameter("username");不就获取了用户名吗,若是以后扩展想把用户数据保存起来,使用一个user的javaBean封装就可以了,还能保存到数据库
在前台尽量不用或少用<a href=""></a>链接
js可以是可以,但这里楼主使用表单提交就没有必要再用js的事件处理了
<input type="hidden" id="hid" name="hid"/>
</html:form>
这是我写的一个传值语句,是将文章的id传给checkeditmessageAction
然后跳转到TheActionForm找到JSP中的 bean 。
然后找到对应的 config.xml 中的 action 里面要添加对应的跳转条件。
<forward name="well" path="/user/Well.jsp" />
从而找到 对应的 TheAction.java 一般放在 src 下的包里。 TheAction.java 里面有对应的跳转方法。 public ActionForward query(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String target = "well"; return mapping.findForward(target); 红色部分表示的是 必须对应起来的一致。