初学者请教页面传递问题

diablobaal 2008-10-22 10:46:27
我想实现的功能是在表格中单击某一行的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>
...全文
134 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
szhshaozhihua 2008-10-23
  • 打赏
  • 举报
回复
jsp 里面 先给出 <html:form action=TheAction?action= query" method="post"> </html:form>
然后跳转到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);

红色部分表示的是 必须对应起来的一致。
chjx1982 2008-10-23
  • 打赏
  • 举报
回复
嗯,接分。
tianyagujian1 2008-10-23
  • 打赏
  • 举报
回复
<html:form method="post" action="/checkeditmessage.do" styleId="fupdate">
<input type="hidden" id="hid" name="hid"/>
</html:form>
这是我写的一个传值语句,是将文章的id传给checkeditmessageAction
tianyagujian1 2008-10-23
  • 打赏
  • 举报
回复
在触发事件后用ipnput="",name=""将值传给处理函数
yami251139 2008-10-23
  • 打赏
  • 举报
回复
。。。来晚了,只能up下界分了。。。
lihan6415151528 2008-10-23
  • 打赏
  • 举报
回复
循环产生按钮 然后id赋值进去不就行了
andyhenghu 2008-10-23
  • 打赏
  • 举报
回复
隐藏表单
耶律火柴 2008-10-23
  • 打赏
  • 举报
回复
个人认为用ajax更好一些
  • 打赏
  • 举报
回复
楼上几位,提供的方法都是不明知的选择(不是攻击啊!,竹大别删帖)
在前台尽量不用或少用<a href=""></a>链接
js可以是可以,但这里楼主使用表单提交就没有必要再用js的事件处理了
  • 打赏
  • 举报
回复
[Quote=引用楼主 diablobaal 的帖子:]
我想实现的功能是在表格中单击某一行的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…
[/Quote]

我觉的楼主写的太复了,
既然你的form中的action指定了相应的servlet来处理(也就是说,你按一下按钮就会把form里面的数据处理交给servlet来处理),不用再加&username= <%temp%>"了,
还有下面的<a href="table.jsp?name= <%=userdom.getName()%>"> <%= userdom.getName()%>都不要加,
所有的获取和附值操作都在servlet来处理就可以了,
你这样业务逻辑又乱,而且容易出错。

你在servlet中用request.getParameter("username");不就获取了用户名吗,

若是以后扩展想把用户数据保存起来,使用一个user的javaBean封装就可以了,还能保存到数据库
不慕沙卡拉卡 2008-10-23
  • 打赏
  • 举报
回复
帮顶一下,楼主写的太复杂了 !
mytimes_walker 2008-10-23
  • 打赏
  • 举报
回复
有表单就隐藏表单域呗.
zidasine 2008-10-22
  • 打赏
  • 举报
回复
或者按钮直接用链接代替
<a href="提交地址&name=<%= userdom.getName()%>"
Sou2012 2008-10-22
  • 打赏
  • 举报
回复
onclick事件
web_win_w 2008-10-22
  • 打赏
  • 举报
回复
在tr里使用onclick事件,如:
<tr onclick="deleteUser(<%=userdom.getId()%>)">把主键传递过去
<script>
fucntion deleteUser(id){
var url = "<%=request.getContextPath%>/访问servlet的路径?id="+id;
window.open(url,'','');
}
</script>
s_liangchao1s 2008-10-22
  • 打赏
  • 举报
回复

<!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>
ZHANGBINFLY 2008-10-22
  • 打赏
  • 举报
回复
up,学习
java__king 2008-10-22
  • 打赏
  • 举报
回复
用JS判断然后再传,现在手头没工具,不好帮你弄代码

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧